Cela peut être facilement résolu en utilisant STL. Cela a été commenté. Si vous n'êtes toujours pas sûr, apprenez STL.
.#inclure
#inclure
#inclure
en utilisant l'espace de noms std;
void main()
{
ifstream in("F:\in.txt"); //Le fichier est dans le lecteur F et ouvert
int key; //correspond à des valeurs impaires
valeur double ; //correspond à un nombre pair
pair
map
cout
while (in>>key>>value) //Lire les données
{
cout
ar=make_pair(key,value);//Créer une paire clé-valeur
maplist.insert(ar); //Insérer dans maplist, ce conteneur sera automatiquement trié par valeur clé
}
in.close();
ofstream out("F:\out.txt"); //Fichier de sortie
cout
for(map
{
out
cout
}
out.close();
getchar();
}
Si vous utilisez le langage C pour résoudre le problème, vous pouvez créer une structure contenant deux valeurs, puis créer un tableau ou une liste chaînée de cette structure pour stocker les données lues, puis trier par la première valeur de la structure, et enfin sortir.
#inclure
Calculateur de vide()
{
int a,b,c,d;
char x,y;
FICHIER *fp1,*fp2;
fp1=fopen("expres.txt","r");
fp2=fopen("result.txt","w");
printf("Veuillez saisirn");
fscanf(fp1,"%d%c%d",&a,&x,&b);
fprintf(fp1,"%d%c%dn",a,x,b);
changer (x)
{
cas '+' :
c=a+b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
pause;
cas '-' :
c=a-b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
pause;
cas '*' :
c=a*b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
pause;
cas '/':
c=a/b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
pause;
par défaut :
printf("Erreur de saisie !n");
pause;
}
}
int main()
{
Calculatrice();
retour 0;
}
Le code complet est comme ceci, puis vous créez vous-même un nouveau fichier express.txt et y entrez l'expression, telle que 3+4
Ensuite, exécutez, et 3+4=7 sera affiché dans result.txt
1. La bibliothèque standard du langage C fournit une série de fonctions d'opération de fichiers. Les fonctions d'opération sur les fichiers sont généralement nommées sous la forme f+mot (f est l'abréviation de file), et leur déclaration se trouve dans le fichier d'en-tête stdio.h. Par exemple : les fonctions fopen et fclose sont utilisées pour ouvrir et fermer des fichiers ; les fonctions fscanf et fgets sont utilisées pour lire des fichiers ; les fonctions fprintf et fputs sont utilisées pour écrire des fichiers ; les fonctions ftell et fseek sont utilisées pour obtenir et définir les positions d'opération des fichiers. Les didacticiels généraux du langage C comportent un chapitre sur les opérations sur les fichiers. Vous pouvez trouver ce manuel pour une étude plus approfondie.
2.Routine :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#inclure
inta;
charb,c[100];
intmain(){
FILE* fp1 = fopen("input.txt", "r"); //Ouvre le fichier d'entrée
FILE* fp2 = fopen("output.txt", "w"); //Ouvre le fichier de sortie
if(fp1==NULL || fp2==NULL) {//Quitter si l'ouverture du fichier échoue
puts("Impossible d'ouvrir le fichier !");
tour 0;}
fscanf(fp1,"%d",&a);//Lire un entier à partir du fichier d'entrée
b=fgetc(fp1); //Lire un caractère du fichier d'entrée
fgets(c,100,fp1); //Lire une ligne de chaîne à partir du fichier d'entrée
printf("%ld",ftell(fp1)); //Affiche le nombre d'octets de décalage de la position actuelle du pointeur fp1 par rapport au début du fichier
fputs(c,fp2); //Écrit une ligne de chaîne dans le fichier de sortie
fputc(b,fp2); //Écrit un caractère dans le fichier de sortie
fprintf(fp2,"%d",a); //Écrit un entier dans le fichier de sortie
fclose(fp1); //Ferme le fichier d'entrée
fclose(fp2); //Ferme le fichier de sortie, équivalent à une sauvegarde
retour0;
}
Comment écrire les résultats de sortie du programme c dans un fichier txt
#inclure
int IsLeapYear(int année)
{
si((année%4==0&année%100!=0)||(année%400==0))
retour 1;
autre
retour 0;
}
int mois_jour (int année,int mois)
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear(year)&month==2)
retour le 29;
autre
retour(mon_day[mois-1]);
}
int DaySearch (année int, mois int, jour int)
{
int c=0;
flotteur s;
int m;
pour(m=1;mc=c+mois_jour(année,m);
c=c+jour;
s=année-1+(flotteur)(année-1)/4+(flotteur)(année-1)/100+(flotteur)(année-1)/400-40+c;
retour ((int)s%7);
}
int PrintAllYear(int année)
{
int temp;
int i,j;
FICHIER *fp;
if((fp=fopen("year.txt","wt"))==NULL)
{
printf("impossible d'ouvrir le fichier");
retour 1;
}
fprintf(fp,"nn%d an",année);
pour(i=1;i
{
temp=DaySearch(année,i,1);
si(i==1)
{
if(temp==0) fprintf(fp,"n le premier jour est %dn",7);
else fprintf(fp,"n le premier jour est %dn",temp);
}
fprintf(fp,"nn%d mois",i);
fprintf(fp," S M T W T F S n");
pour(j=1;j
{
if(j-temp
fprintf(fp," ");
autre
fprintf(fp,"%3d",j-temp);
si(j%7==0)
fprintf(fp,"n");
}
}
fclose(fp);
retour 0;
}
void main()
{
année intérieure ;
printf("nVeuillez saisir un an(XXXX)");
scanf("%d",&année);
PrintAllYear(année);
}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!