Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - 1 -
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- int main() {
- FILE *ulaz;
- char znak, ime[20];
- int broj_redova=0, broj_rijeci=0, broj_znakova=0, razmak=1;
- printf ("Unesite ime datoteke: ");
- scanf ("%s", ime);
- ulaz = fopen(ime, "r");
- if (ulaz == NULL) {
- printf ("Pogreska kod otvaranja datoteke %s!\n\n", ime);
- exit (1);
- }
- while ((znak=fgetc(ulaz)) != EOF) {
- /* Ako je znak novi red, povecaj broj linija za jedan */
- if (znak=='\n')
- ++broj_redova;
- /* Da li je znak razmak? */
- if (znak==' ' || znak=='\n' || znak=='\t')
- razmak=1;
- else {
- ++broj_znakova;
- /* Ako je prethodni znak bio razmak a ovaj nije,
- povecavamo broj rijeci za 1 */
- if (razmak==1) ++broj_rijeci;
- razmak=0;
- }
- }
- if (broj_znakova != 0) broj_redova++;
- printf ("Broj redova: %d\nBroj rijeci: %d\nBroj znakova: %d\n",
- broj_redova, broj_rijeci, broj_znakova);
- fclose (ulaz);
- return 0;
- }
- - 2 -
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- int main() {
- FILE *ulaz;
- char znak, ime[20];
- int broj_redova=0, broj_rijeci=0, broj_znakova=0, razmak=1;
- char broj_samoglasnika=0, broj_velikih_slova=0, broj_cifara=0;
- printf ("Unesite ime datoteke: ");
- scanf ("%s", ime);
- ulaz = fopen(ime, "r");
- if (ulaz == NULL) {
- printf ("Pogreska kod otvaranja datoteke %s!\n\n", ime);
- exit (1);
- }
- while ((znak=fgetc(ulaz)) != EOF) {
- if(znak=='a' || znak=='A' || znak=='e' || znak=='E' || znak=='i' || znak=='I' || znak=='O' || znak=='o' || znak=='U' || znak=='u') broj_samoglasnika++;
- if(znak>=65 && znak<=90) broj_velikih_slova++;
- if(znak>=48 && znak<=57) broj_cifara++;
- /* Ako je znak novi red, povecaj broj linija za jedan */
- if (znak=='\n')
- ++broj_redova;
- /* Da li je znak razmak? */
- if (znak==' ' || znak=='\n' || znak=='\t')
- razmak=1;
- else {
- ++broj_znakova;
- /* Ako je prethodni znak bio razmak a ovaj nije,
- povecavamo broj rijeci za 1 */
- if (razmak==1) ++broj_rijeci;
- razmak=0;
- }
- }
- if (broj_znakova != 0) broj_redova++;
- printf ("\nBroj redova: %d\nBroj rijeci: %d\nBroj znakova: %d\nBroj samoglasnika: %d\nBroj velikih slova: %d\nBroj cifara: %d", broj_redova, broj_rijeci, broj_znakova, broj_samoglasnika, broj_velikih_slova, broj_cifara);
- fclose (ulaz);
- return 0;
- }
- - 3 -
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- int main() {
- FILE *ulaz;
- int n=0, i, brPredmeta;
- int indexi[1000]={0}, predmet[1000]={0}, ocjena[1000]={0};
- ulaz = fopen("ispiti.txt", "r");
- printf("Unesite predmet: ");
- scanf("%d", &brPredmeta);
- while ((fscanf (ulaz,"%d %d %d\n", &indexi[n], &predmet[n], &ocjena[n]) == 3) && (n < 1000)) {
- n++;
- }
- double prosjek=0, postotak=0;
- int broj=0, broj_polozenih=0;
- int suma=0;
- for(i=0;i<n;i++){
- if(brPredmeta == predmet[i]) {
- broj++;
- suma+=ocjena[i];
- if(ocjena[i]>=6 && ocjena[i]<=10) broj_polozenih++;
- }
- }
- if(broj!=0){
- prosjek = (double)suma/broj;
- postotak = (double)broj_polozenih*100/broj;
- printf("Prosjecna ocjena: %.2f", prosjek);
- printf("\nProlaznost: %g%%", postotak);
- }
- else printf("Zalimo, ali ne postoje podaci o predmetu sa brojem %d!", brPredmeta);
- fclose (ulaz);
- return 0;
- }
- - 4 -
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- #include <string.h>
- void unesi(char niz[], int velicina){
- char znak = getchar();
- if (znak == '\n') znak=getchar();
- int i = 0;
- while (i < velicina-1 && znak != '\n') {
- niz[i] = znak;
- i++;
- znak = getchar();
- }
- niz[i]='\0';
- }
- void unesi_fajl(FILE *ulaz, char niz[], int velicina)
- {
- char znak = fgetc(ulaz);
- if (znak == '\n') znak = fgetc(ulaz);
- int i = 0;
- while (i < velicina-1 && znak != '\n' && znak != EOF) {
- niz[i] = znak;
- i++;
- znak = fgetc(ulaz);
- }
- niz[i]='\0';
- }
- struct predmeti {
- int broj_predmeta;
- char naziv_predmeta[1000];
- };
- int main() {
- FILE *ulaz;
- FILE *ulazdva;
- int n=0, i;
- int indexi[1000]={0}, predmet[1000]={0}, ocjena[1000]={0};
- struct predmeti predmetix[100];
- char predmet1[1000];
- ulaz = fopen("ispiti.txt", "r");
- ulazdva = fopen("predmeti.txt", "r");
- if (ulaz == NULL) {
- printf("Greska prilikom otvaranja datoteke 'ispiti.txt'! \n");
- exit(1);
- }
- if (ulazdva == NULL) {
- printf("Greska prilikom otvaranja datoteke 'predmeti.txt'! \n");
- exit(1);
- }
- while ((fscanf (ulazdva ,"%d ", &predmetix[n].broj_predmeta) == 1) && (n < 1000)) {
- unesi_fajl(ulazdva, predmetix[n].naziv_predmeta, 1000);
- n++;
- }
- int nepostojeci=0;
- int pamti=0;
- do{
- printf("Unesite predmet: ");
- unesi(predmet1,1000);
- for(i=0;i<n;i++){
- if(strcmp(predmetix[i].naziv_predmeta, predmet1)==0) {
- pamti = predmetix[i].broj_predmeta;
- }
- }
- if(pamti==0) { printf("Nepostojeci predmet!"); }
- }while(pamti==0);
- n=0;
- while ((fscanf (ulaz ,"%d %d %d\n", &indexi[n], &predmet[n], &ocjena[n]) == 3) && (n < 1000)) {
- n++;
- }
- double prosjek=0, postotak=0;
- int broj=0, broj_polozenih=0;
- int suma=0;
- for(i=0;i<n;i++){
- if( predmet[i] == pamti) {
- broj++;
- suma+=ocjena[i];
- if(ocjena[i]>=6 && ocjena[i]<=10) broj_polozenih++;
- }
- }
- if(broj!=0){
- prosjek = (double)suma/broj;
- postotak = (double)broj_polozenih*100/broj;
- printf("Prosjecna ocjena: %.2f", prosjek);
- printf("\nProlaznost: %g%%", postotak);
- }
- else printf("Zalimo, ali ne postoje podaci o predmetu %s!", predmet1);
- fclose (ulaz);
- fclose (ulazdva);
- return 0;
- }
- - 5 -
- #include <stdio.h>
- #include <stdlib.h> /* Zbog funkcije exit() */
- #include <string.h>
- int n=0;
- void unesi(char niz[], int velicina){
- char znak = getchar();
- if (znak == '\n') znak=getchar();
- int i = 0;
- while (i < velicina-1 && znak != '\n') {
- niz[i] = znak;
- i++;
- znak = getchar();
- }
- niz[i]='\0';
- }
- void unesi_fajl(FILE *ulaz, char niz[], int velicina){
- char znak = fgetc(ulaz);
- if (znak == '\n') znak = fgetc(ulaz);
- int i = 0;
- while (i < velicina-1 && znak != '\n' && znak != EOF) {
- niz[i] = znak;
- i++;
- znak = fgetc(ulaz);
- }
- niz[i]='\0';
- }
- struct predmeti {
- int index;
- int broj_predmeta;
- char naziv_predmeta[1000];
- };
- void ispis(){
- FILE *ulaz;
- FILE *ulazdva;
- int i;
- int indexi[1000]= {0}, predmet[1000]= {0}, ocjena[1000]= {0};
- struct predmeti predmetix[100];
- char predmet1[1000];
- ulaz = fopen("ispiti.txt", "r");
- ulazdva = fopen("predmeti.txt", "r");
- if (ulaz == NULL) {
- printf("Greska prilikom otvaranja datoteke 'ispiti.txt'! \n");
- exit(1);
- }
- if (ulazdva == NULL) {
- printf("Greska prilikom otvaranja datoteke 'predmeti.txt'! \n");
- exit(1);
- }
- n=0;
- while ((fscanf (ulazdva ,"%d ", &predmetix[n].broj_predmeta) == 1) && (n < 1000)) {
- unesi_fajl(ulazdva, predmetix[n].naziv_predmeta, 1000);
- n++;
- }
- int pamti=0;
- do{
- printf("Unesite predmet: ");
- unesi(predmet1,1000);
- for(i=0; i<n; i++) {
- if(strcmp(predmetix[i].naziv_predmeta, predmet1)==0) {
- pamti = predmetix[i].broj_predmeta;
- }
- }
- if(pamti==0) {
- printf("Nepostojeci predmet!");
- }
- }while(pamti==0);
- n=0;
- while ((fscanf (ulaz ,"%d %d %d\n", &indexi[n], &predmet[n], &ocjena[n]) == 3) && (n < 1000)) {
- n++;
- }
- double prosjek=0, postotak=0;
- int broj=0, broj_polozenih=0;
- int suma=0;
- for(i=0; i<n; i++) {
- if( predmet[i] == pamti) {
- broj++;
- suma+=ocjena[i];
- if(ocjena[i]>=6 && ocjena[i]<=10) broj_polozenih++;
- }
- }
- if(broj!=0) {
- prosjek = (double)suma/broj;
- postotak = (double)broj_polozenih*100/broj;
- printf("Prosjecna ocjena: %.2f", prosjek);
- printf("\nProlaznost: %g%%\n", postotak);
- } else printf("Zalimo, ali ne postoje podaci o predmetu %s!", predmet1);
- fclose (ulaz);
- fclose (ulazdva);
- }
- void statistiku_osobe(){
- FILE *ulaz;
- FILE *ulazdva;
- int i;
- int indexi[1000]= {0}, predmet[1000]= {0}, ocjena[1000]= {0};
- char predmet1[1000];
- ulaz = fopen("ispiti.txt", "r");
- if (ulaz == NULL) {
- printf("Greska prilikom otvaranja datoteke 'ispiti.txt'! \n");
- exit(1);
- }
- int br_ocjena=0;
- double suma=0;
- while ((fscanf (ulaz ,"%d %d %d\n", &indexi[n], &predmet[n], &ocjena[n]) == 3) && (n < 1000)) {
- n++;
- }
- int broj_indeksa, br_prolaznih_ocjena=0;
- double prosjek, prolaznost;
- printf("Unesite broj indexa: ");
- scanf("%d", &broj_indeksa);
- for(i=0; i<n; i++) {
- if(indexi[i] == broj_indeksa) {
- suma+=ocjena[i];
- br_ocjena++;
- if(ocjena[i] >= 6 && ocjena[i] <= 10)
- br_prolaznih_ocjena++;
- }
- }
- if (suma == 0) {
- printf("Zalimo, ali ne postoje podaci o studentu sa brojem indexa %d!\n",broj_indeksa);
- return;
- }
- prosjek = (double)suma/br_ocjena;
- prolaznost = (double)br_prolaznih_ocjena/br_ocjena*100;
- printf("Student je slusao %d predmeta, a polozio %d (%g%%).", br_ocjena, br_prolaznih_ocjena, prolaznost);
- printf("\nProsjecna ocjena polozenih predmeta je %.1f\n", prosjek);
- fclose(ulaz);
- }
- int main(){
- int opcija;
- do {
- printf("Unesite 1 za statistiku studenta, 2 za statistiku predmeta, 0 za izlaz: ");
- scanf("%d", &opcija);
- switch(opcija) {
- case 1:
- statistiku_osobe();
- break;
- case 2:
- ispis();
- break;
- case 0:
- break;
- default:
- printf("Nepoznata opcija\n");
- }
- } while (opcija != 0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement