Witam,
mam maly problemik, takki programik napisałem śmieszny na azailczenie, ale mi się crashuje nie wiem czemu ( albo jestem taki głupi, albo jestem taki głupi :D ).
Jak mam tam gdzies błąd to niechajże ktoś palcemi mi go wskaże ładnie proszę.
Pozdrawiam
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
struct stud //strukturka studenta
{
char imie[20], nazwisko[20], kierunek[3];
unsigned int indeks;
double ocena;
int check;
};
int a=48; //potrzebne do menu
stud grupa[100]; //tablica strukturek studencików
int menu()
{
printf("\t--------------------------------\n");
printf("\t| |\n");
printf("\t| 1.Wpisz studenta [max.100] |\n");
printf("\t| 2.Usun studenta |\n");
printf("\t| 3.Wypisz studentow |\n");
printf("\t| 4.Zamknij |\n");
printf("\t| |\n");
printf("\t--------------------------------\n");
return getch();
}
int sprawdz(int i) //funkcja sprawdzajaca
{ //czy jest juz student
if(grupa[i].check==0) return 0;
else if(grupa[i].check==1) return 1; //o takiej liczbie porzadkowej
}
void wpisz_st()
{
int i=0;
for(int z=0 ;z<100 ;z++)
{
if(sprawdz(z)==0)
{
i=z;
break;
}
}
printf("Wpisz dane studenta ( imie, nazwisko, numer indeksu oraz ocene):\n");
printf("Imie: ");
scanf("%s", grupa[i].imie);
printf("Nazwisko: ");
scanf("%s", grupa[i].nazwisko);
// printf("Nr indeksu: ");
// scanf("%d", grupa[i].indeks);
printf("Kierunek: ");
scanf("%s", grupa[i].kierunek);
printf("Ocena: ");
scanf("%f", grupa[i].ocena);
system("CLS");
grupa[i].check=1;
printf("Wpisano studenta o numerze %d", i);
a=48;
}
void usun_st()
{
int i;
printf("Podaj numer porzadkowy studenta do usuniecia: ");
scanf("%d", i);
if(i>=0 && i<=100)
{
if(grupa[i].check==0) printf("Taki student nie istnieje");
else if(grupa[i].check==1)
{
grupa[i].check=0;
system("CLS");
printf("Student usuniety.");
}
}
}
void list_st()
{
system("CLS");
printf("\tLP.\tImie\tNazwisko\tNr Indeksu\tKierunek\tOcena\n\n");
for(int i=0;i<100;i++)
{
if(grupa[i].check==1)
{
printf("\t%d\t%s\t%s\t%d\t%s\t%f1.2\n" , i, grupa[i].imie, grupa[i].nazwisko, grupa[i].indeks, grupa[i].kierunek, grupa[i].ocena);
}
if(grupa[i].check==0) printf("\t%d\tBrak Wpisu\n",(i+1));
}
printf("\n\n"); //tak zeby sie nie zrobilo maslo na ekranie
}
int main(int argc, char *argv[])
{
while(1)
{
for(int i=0;i<100;i++) grupa[i].check=0; //ustawienie czystej tablicy studentow
if(a==48) a=menu();
if(a==49){
wpisz_st();
a=48;
}
else if(a==50)
{
usun_st();
a=48;
}
else if(a==51)
{
list_st();
a=48;
}
else if(a==52) return 0;
else
{
printf("\tNie cwaniakuj!\n");
a=48;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}