Dopisite mi to komentarima
Hvala unapred..
A evo i koda:
Code:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
/******************************************************************************************************************/
//PROTOTIP F-JE
int upis(void);
void ispis(int br_studenata);
/******************************************************************************************************************/
typedef struct student{ char prezime[15];
char ime[15];
char br_ind[5];
int poeni;
}Tstudent;
void main (void) {
int br_studenata;
char izbor;
do{
printf("\t\t\tStatistika studenata\n\n\n");
printf("Izaberi opciju:\n1) Upis novih studenata\n2) Listanje\n3) Kraj\nTvoj izbor je:");
do{
izbor=getche();
}while((izbor!='1')&&(izbor!='2')&&(izbor!='3'));
switch(izbor) {
case '1':br_studenata=upis();
break;
case '2':ispis(br_studenata);
break;
case '3':exit(1);
}
}while(izbor!='3');
}
/******************************************************************************************************************/
//F-ja ITN UPIS(VOID) (VRACA BROJ STUDENATA KOJI JE UNET)
int upis(void) {
Tstudent jstudent[50];//jstudent mi predstavlja jednog studenta!
char pom1[15],pom2[5];
char c='1';
int k,p,i=0;//i je ustvari brojac studenata
while(c=='1') {
clrscr();
printf("Trenutno je uneto %d studenata\n",i);
printf("Unesi prezime studenta:");
scanf("%s",&jstudent[i].prezime);
printf("Unesi ime studenta:");
scanf("%s",&jstudent[i].ime);
printf("Uneo si ime:%s\n",jstudent[i].ime);
//UKOLIKO POSTOJI BR_IND PONOVI UNOS UKOLIKO NE UBACI TEKUCI I IDI DALJE NA SL UNOS
k=0;
do {
printf("Unesi broj indeksa:");
scanf("%s",&jstudent[i].br_ind);
for(p=0;p<i;p++) {
if( strcmp(jstudent[p].br_ind,jstudent[i].br_ind)==0 ) {
printf("Ovaj broj indeksa vec postoji!!!\n");
k=1;
break;
}else k=0;
}
}while(k==1);
printf("Unesi broj osvojenih bodova:");
do {
scanf("%d",&jstudent[i].poeni);
if((jstudent[i].poeni<0)||(jstudent[i].poeni>100)) printf("Vrednost moze biti izmedju 0-100!!!");
}while(jstudent[i].poeni<0||jstudent[i].poeni>100);
printf("\nDa li zelis da nastavis sa unosom novih studenta?\n");
printf("1-DA\n2-NE\nTvoj izbor je:");
c=getche();
i++;
if(c=='2') {
clrscr();
break;
}
}
return i;//vrati mi broj koliko sam studenata uneo
}
/******************************************************************************************************************/
//F-ja VOID ISPIS
void ispis(int broj_st){
int i,j,n,pom;
char prezime1[15],ime1[15],br_ind1[5];
Tstudent jstudent[50];
clrscr();
for(i=0;i<broj_st;i++) {
for(j=i+1;j<broj_st;j++) {
if(jstudent[i].poeni<jstudent[j].poeni) {
//SORTIRAJU SE POENI
pom=jstudent[i].poeni;
jstudent[i].poeni=jstudent[j].poeni;
jstudent[j].poeni=pom;
//ISTO TAKO MORAM DA PREMESTAM I PREZIME I IME I BR IND
strcpy(prezime1,jstudent[i].prezime);
strcpy(jstudent[i].prezime,jstudent[j].prezime);
strcpy(jstudent[j].prezime,prezime1);
strcpy(ime1,jstudent[i].ime);
strcpy(jstudent[i].ime,jstudent[j].ime);
strcpy(jstudent[j].ime,ime1);
strcpy(br_ind1,jstudent[i].br_ind);
strcpy(jstudent[i].br_ind,jstudent[j].br_ind);
strcpy(jstudent[j].br_ind,br_ind1);
}
}
}
printf("Poeni su sortirani a broj unetih studenata je %d:\n",broj_st);
for(i=0;i<broj_st;i++) {
printf("%d\t%s\t%s",jstudent[i].poeni,jstudent[i].prezime,jstudent[i].ime);
}
getche();
clrscr();
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
/******************************************************************************************************************/
//PROTOTIP F-JE
int upis(void);
void ispis(int br_studenata);
/******************************************************************************************************************/
typedef struct student{ char prezime[15];
char ime[15];
char br_ind[5];
int poeni;
}Tstudent;
void main (void) {
int br_studenata;
char izbor;
do{
printf("\t\t\tStatistika studenata\n\n\n");
printf("Izaberi opciju:\n1) Upis novih studenata\n2) Listanje\n3) Kraj\nTvoj izbor je:");
do{
izbor=getche();
}while((izbor!='1')&&(izbor!='2')&&(izbor!='3'));
switch(izbor) {
case '1':br_studenata=upis();
break;
case '2':ispis(br_studenata);
break;
case '3':exit(1);
}
}while(izbor!='3');
}
/******************************************************************************************************************/
//F-ja ITN UPIS(VOID) (VRACA BROJ STUDENATA KOJI JE UNET)
int upis(void) {
Tstudent jstudent[50];//jstudent mi predstavlja jednog studenta!
char pom1[15],pom2[5];
char c='1';
int k,p,i=0;//i je ustvari brojac studenata
while(c=='1') {
clrscr();
printf("Trenutno je uneto %d studenata\n",i);
printf("Unesi prezime studenta:");
scanf("%s",&jstudent[i].prezime);
printf("Unesi ime studenta:");
scanf("%s",&jstudent[i].ime);
printf("Uneo si ime:%s\n",jstudent[i].ime);
//UKOLIKO POSTOJI BR_IND PONOVI UNOS UKOLIKO NE UBACI TEKUCI I IDI DALJE NA SL UNOS
k=0;
do {
printf("Unesi broj indeksa:");
scanf("%s",&jstudent[i].br_ind);
for(p=0;p<i;p++) {
if( strcmp(jstudent[p].br_ind,jstudent[i].br_ind)==0 ) {
printf("Ovaj broj indeksa vec postoji!!!\n");
k=1;
break;
}else k=0;
}
}while(k==1);
printf("Unesi broj osvojenih bodova:");
do {
scanf("%d",&jstudent[i].poeni);
if((jstudent[i].poeni<0)||(jstudent[i].poeni>100)) printf("Vrednost moze biti izmedju 0-100!!!");
}while(jstudent[i].poeni<0||jstudent[i].poeni>100);
printf("\nDa li zelis da nastavis sa unosom novih studenta?\n");
printf("1-DA\n2-NE\nTvoj izbor je:");
c=getche();
i++;
if(c=='2') {
clrscr();
break;
}
}
return i;//vrati mi broj koliko sam studenata uneo
}
/******************************************************************************************************************/
//F-ja VOID ISPIS
void ispis(int broj_st){
int i,j,n,pom;
char prezime1[15],ime1[15],br_ind1[5];
Tstudent jstudent[50];
clrscr();
for(i=0;i<broj_st;i++) {
for(j=i+1;j<broj_st;j++) {
if(jstudent[i].poeni<jstudent[j].poeni) {
//SORTIRAJU SE POENI
pom=jstudent[i].poeni;
jstudent[i].poeni=jstudent[j].poeni;
jstudent[j].poeni=pom;
//ISTO TAKO MORAM DA PREMESTAM I PREZIME I IME I BR IND
strcpy(prezime1,jstudent[i].prezime);
strcpy(jstudent[i].prezime,jstudent[j].prezime);
strcpy(jstudent[j].prezime,prezime1);
strcpy(ime1,jstudent[i].ime);
strcpy(jstudent[i].ime,jstudent[j].ime);
strcpy(jstudent[j].ime,ime1);
strcpy(br_ind1,jstudent[i].br_ind);
strcpy(jstudent[i].br_ind,jstudent[j].br_ind);
strcpy(jstudent[j].br_ind,br_ind1);
}
}
}
printf("Poeni su sortirani a broj unetih studenata je %d:\n",broj_st);
for(i=0;i<broj_st;i++) {
printf("%d\t%s\t%s",jstudent[i].poeni,jstudent[i].prezime,jstudent[i].ime);
}
getche();
clrscr();
}