Witam, tak jak w temacie mam do napisania taki projekt na plikach. Dzis zabralem sie do pracy i trafiłem na pierwsza przeciwnosc z ktora nie moge sobie poradzic a oto kod:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int pobierz_wybor(void);
int pobierz_pierwszy(void);
void generuj(void);
void podziel(void);
int main(){
int wybor;
int pobierz_wybor();
while((wybor = pobierz_wybor())!= 'k'){
switch(wybor){
case 'a' : generuj();
break;
case 'b' :
break;
case 'c' :
break;
case 'd' :
break;
}
}
return 0;
}
int pobierz_pierwszy(void){
int ch;
ch = getchar();
while(getchar()!= '\n')
continue;
return ch;
}
int pobierz_wybor(void){
int ch;
printf("Co chcesz zrobic?\n");
printf("a. generuj plik b. \n");
printf("k. koniec\n");
ch = pobierz_pierwszy();
while( (ch < 'a' || ch > 'd')&& ch!= 'k'){
printf("Wpisz a, b, c, d lub k aby zakonczyc.\n");
ch = pobierz_pierwszy();
}
return ch;
}
void generuj(){
int a,i;
srand(time(NULL));
FILE *fp,*fp1,*fp2;
if( (fp = fopen("plik.txt", "w+"))==NULL){
}
if( (fp1 = fopen("plik1.txt", "w+"))==NULL){
}
if( (fp2 = fopen("plik2.txt", "w+"))==NULL){
}
printf("\n");
printf("Wylosowane liczby to:\n");
for(i =0; i<10; i++){
a = rand()%11;
fprintf(fp, "%d", a);
fprintf(fp, " ", a);
printf("%d\n", a);
}
for(i =0; i<=5; i++){
fprintf(fp1, "%d", a);
}
for(i =6; i<=10; i++){
fprintf(fp2, "%d", a);
}
}
Jak widać, chce podzielić liczby wylosowane (jest ich 10) do 2 plików "pomocniczych" tylko problem w tym że mój sposób nie działa. Do plików jest wpisywana 5 razy wartość, która zostaje wylosowana jako ostatnia.
Czekam na pomoc bardziej doświadczonych.