Hallo,
Wenn wir hier das Programm anschauen, dass in eine File die Seiten und in die andere die Flaechen speichert(siehe 1. Programm).
Man könnte das ganze auch in Arrays schreiben oder? Dann bräuchte man kein "r".
(siehe 2. Programm).
Und dann bei fscanf(das liest ja Daten aus einer File). Kann es sein das fscanf nur ausliest wenn es sich in einen "Lese-Modus" befindet? Oder macht man das einfach so?
Also bei r, w+, a+....
Unterschied zwischen fscanf und "r" ist welcher?
MfG C_boy
1.Programm:
2. Programm:
Wenn wir hier das Programm anschauen, dass in eine File die Seiten und in die andere die Flaechen speichert(siehe 1. Programm).
Man könnte das ganze auch in Arrays schreiben oder? Dann bräuchte man kein "r".
(siehe 2. Programm).
Und dann bei fscanf(das liest ja Daten aus einer File). Kann es sein das fscanf nur ausliest wenn es sich in einen "Lese-Modus" befindet? Oder macht man das einfach so?
Also bei r, w+, a+....
Unterschied zwischen fscanf und "r" ist welcher?
MfG C_boy
1.Programm:
Code:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *Seiten=NULL;
FILE *Flaeche=NULL;
int i=0;
int x=0;
int a=0;
int b=0;
int ergebnis;
Seiten = fopen("Seiten.csv","w");
if(Seiten == NULL)
{
printf("unable to write\n");
exit(-1);
}
for(i=0; i <= 10; i++)
{
a=rand();
b=rand();
fprintf(Seiten,"%d;%d\n", a, b);
}
fclose(Seiten);
Seiten = fopen("Seiten.csv","r");
if(Seiten == NULL)
{
printf("unable to read\n");
exit(-1);
}
Flaeche = fopen("Flaeche.csv","w");
if(Flaeche == NULL)
{
printf("unable to write\n");
exit(-1);
}
while(!feof(Seiten))
{
fscanf(Seiten,"%d;%d\n", &a, &b);
printf("%d -> %d\n", a, b);
ergebnis = a * b;
fprintf(Flaeche,"ergebnis = %d\n\n", ergebnis);
}
fclose(Seiten);
fclose(Flaeche);
return (0);
}
2. Programm:
Code:
#include <stdio.h>
#include <stdlib.h>
#define MAX_ANZAHL 10
void sort(int fl[]);
void sort(int fl[])
{
int hilf=0;
int x;
int i;
for(x=0; x<MAX_ANZAHL; x++)
{
for(i=0; i<MAX_ANZAHL-1; i++)
{
if(fl[i+1] < fl[i])
{
hilf=fl[i];
fl[i]=fl[i+1];
fl[i+1]=hilf;
}
}
}
}
int main()
{
FILE*seiten = NULL;
FILE*flaeche = NULL;
int a[MAX_ANZAHL];
int b[MAX_ANZAHL];
int fl[MAX_ANZAHL];
int i;
int hilf;
seiten = fopen("seiten.csv","w");
if(seiten == NULL)
{
printf("unable to write");
exit(-1);
}
for(i=0; i<MAX_ANZAHL; i++)
{
a[i]=rand()%10;
b[i]=rand()%10;
fprintf(seiten,"%d ; %d\n",a[i],b[i]);
}
fclose(seiten);
/*seiten = fopen("seiten.csv","r");
if(seiten == NULL)
{
printf("unable to read");
exit(-1);
}*/
flaeche = fopen("flaeche.csv","w");
if(seiten == NULL)
{
printf("unable to write");
exit(-1);
}
for(i=0; i<MAX_ANZAHL; i++)
{
fl[i]=a[i]*b[i];
fprintf(flaeche,"flaeche: ; %d\n",fl[i]);
printf("flaeche: ; %d\n",fl[i]);
}
sort(fl);
for(i=0; i<MAX_ANZAHL; i++)
{
fprintf(flaeche,"flaeche: ; %d\n",fl[i]);
printf("%d\n",fl[i]);
}
//fclose(seiten);
fclose(flaeche);
return(0);
}
Zuletzt bearbeitet: