Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383

    [c]semplice pseudo-database

    Ciao,
    ho scritto un piccolo programma che si occupa di registrare dati come pressione e frequenza dei battiti cardiaci

    Questo è il codice:
    codice:
    #include <stdio.h>
    
    main()
    {
            char *settimana[] = {"LUNEDÌ", "MARTEDÌ", "MERCOLEDÌ", "GIOVEDÌ", "VENERDÌ", "SABATO", "DOMENICA"};
            char *ore[] = {"08", "13", "18", "23"};
            int i,j,Pmin[7][4], Pmax[7][4], freq[7][4], res;
            char c;
            for(i=0;i<7;i++)
               for(j=0;j<4;j++) {
                  Pmin[i][j] = 0;
                  Pmax[i][j] = 0;
                  freq[i][j] = 0;
               }
            double pmin_med[7], pmax_med[7], freq_med[7], pmin_fin = 0, pmax_fin = 0, freq_fin = 0;
            for(i=0;i<7;i++) {
               pmin_med[i] = 0;
               pmax_med[i] = 0;
               freq_med[i] = 0;
            }
    	printf("\n\t\t* REGISTRO DATI CLINICI DEL PAZIENTE *\n\n");
    	do {
    		printf("\n\n\t\t1. Immetti misurazioni\n\t\t2. Calcola media giornaliera e complessiva\n\t\t3. Visualizza valori e medie\n\t\t4. Esci\n");
    		printf("\t\t\t\t\t\t\tScelta:");
    		while((c = getc(stdin)) != EOF && c != '\n' && c != '1' && c != '2' && c != '3' && c != '4');
    		if (c == '1') {
    			printf("\n\n// Immissione dati paziente\n\n");
                            for(i=0;i<7;i++)
                                for(j=0;j<4;j++) {
                                    printf("%s - Ore %s\n\nPressione sanguigna(mmHg):\n",settimana[i],ore[j]);
                                    do {
                                        printf("minima: ");
                                        res = scanf("%d",&Pmin[i][j]);
                                        while(getc(stdin)!='\n');
    		                } while(Pmin[i][j] < 60 || Pmin[i][j] > 100 || res==0);
                                    do {
                                        printf("massima: ");
                                        res = scanf("%d",&Pmax[i][j]);
                                        while(getc(stdin)!='\n');
    		                } while(Pmax[i][j] < 80 || Pmax[i][j] > 180 || res==0);
                                    do {
    			            printf("\nFrequenza cardiaca(bpm): ");
                                        res = scanf("%d",&freq[i][j]);
                                        while(getc(stdin)!='\n');
    		                } while(freq[i][j] < 30 || freq[i][j] > 110 || res==0);
                                }
                    }
    		if (c == '2') {
    			printf("\n\n// Calcolo medie per giorno e complessiva\n\n");
                            for(i=0;i<7;i++) {
                                printf("%s:\nMedia pressione minima(mmHg): ",settimana[i]);
                                for(j=0;j<4;j++)
    			        pmin_med[i] += Pmin[i][j];
    			    pmin_med[i] /= 4;
    			    printf("%g",pmin_med[i]);
                                printf("\nMedia pressione massima(mmHg): ");
                                for(j=0;j<4;j++)
    			        pmax_med[i] += Pmax[i][j];
    			    pmax_med[i] /= 4;
    			    printf("%g",pmax_med[i]);
                                printf("\nMedia frequenza cardiaca(bpm): ");
                                for(j=0;j<4;j++)
    			        freq_med[i] += freq[i][j];
    			    freq_med[i] /= 4;
    			    printf("%g",freq_med[i]);
    			    printf("\n\npremere un tasto per continuare...\n\n");
    		            getchar();			    
     			}
                            printf("MEDIA SETTIMANA:\nMedia pressione minima(mmHg): ");
                            for(i=0;i<7;i++) 
    			    pmin_fin += pmin_med[i];
    			pmin_fin /= 7;
    			printf("%g",pmin_fin);
    			printf("\nMedia pressione massima(mmHg): ");
                            for(i=0;i<7;i++) 
    			    pmax_fin += pmax_med[i];
    			pmax_fin /= 7;
    			printf("%g",pmax_fin);
                            printf("\nMedia frequenza cardiaca(bpm): ");
                            for(i=0;i<7;i++) 
    			    freq_fin += freq_med[i];
    			freq_fin /= 7;
    			printf("%g",freq_fin);
    	    		while(!getchar());
    		}
    		if (c == '3') {
    			printf("\n\n// Visualizzazione dei valori\n\n");
    			for(i=0;i<7;i++) {
    			    printf(" %s",settimana[i]);
    			    for(j=0;j<4;j++)
    			        printf("h: %s",ore[i]);
    			    printf("  MEDIA\n");
                                printf("Pressione sanguigna in mmHg(MIN-MAX)");
                                for(j=0;j<4;j++)
                                    printf("%9d-%9d",Pmin[i][j],Pmax[i][j]);
                                printf("%9.4g-%9.4g",pmin_med[i],pmax_med[i]);
    			    printf("\nFrequenza cardiaca in bpm");
                                for(j=0;j<4;j++)
                                    printf("%9d",freq[i][j]);
                                printf("%9.4g",freq_med[i]);
    			}
    			printf("MEDIA SETTIMANA");
    			for(j=0;j<4;j++)
    			    printf("h: %s",ore[i]);
    			printf("  MEDIA\n");
                            printf("Pressione sanguigna in mmHg(MIN-MAX)");
    			double pmin_h[4], pmax_h[4], freq_h[4];
                            for(i=0;i<4;i++) {
                               pmin_h[i] = 0;
                               pmax_h[i] = 0;
                               freq_h[i] = 0;
                            }
    			for(j=0;j<4;j++) {
     			    for(i=0;i<7;i++) {
    				pmin_h[j] += Pmin[i][j];
    				pmax_h[j] += Pmax[i][j];
                                    freq_h[j] += freq[i][j];
    			    }
                                pmin_h[j] /= 7;
    		            pmax_h[j] /= 7;
    		            freq_h[j] /= 7;
    			    printf("%9.4g-%9.4g",pmin_h[j],pmax_h[j]);
                            printf("%9.4g-%9.4g",pmin_fin,pmax_fin);
    			printf("\nFrequenza cardiaca in bpm");
    			for(j=0;j<4;j++)
    			    printf("%9.4g",freq_h[j]);
    			printf("%9.4g",freq_fin);
    			while(!getchar());
    		}
    	} while (c != '4');
    	printf("\n\n");
    }
    Ho corretto diversi errori in compilazione, ma rimane sempre questo:
    codice:
    pressione.c: In function ‘main’:
    pressione.c: 132: error: expected ‘while’ at end of input
    pressione.c: 132: error: expected declaration or statement at end of input
    Tra voi c'è chi ha qualche idea?

  2. #2
    Possibilmente hai dimenticato qualche parentesi in qualche posto ..

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Originariamente inviato da ignaziodeblasi
    Possibilmente hai dimenticato qualche parentesi in qualche posto ..
    trovata, grazie

  4. #4

    Re: [c]semplice pseudo-database

    Originariamente inviato da cristianc

    codice:
    #include <stdio.h>
    
    main()
    {
            char *settimana[] = {"LUNEDÌ", "MARTEDÌ", "MERCOLEDÌ", "GIOVEDÌ", "VENERDÌ", "SABATO", "DOMENICA"};
            char *ore[] = {"08", "13", "18", "23"};
            int i,j,Pmin[7][4], Pmax[7][4], freq[7][4], res;
            char c;
            for(i=0;i<7;i++)
               for(j=0;j<4;j++) {
                  Pmin[i][j] = 0;
                  Pmax[i][j] = 0;
                  freq[i][j] = 0;
               }
            double pmin_med[7], pmax_med[7], freq_med[7], pmin_fin = 0, pmax_fin = 0, freq_fin = 0;
            for(i=0;i<7;i++) {
               pmin_med[i] = 0;
               pmax_med[i] = 0;
               freq_med[i] = 0;
            }
    	printf("\n\t\t* REGISTRO DATI CLINICI DEL PAZIENTE *\n\n");
    	do {
    		printf("\n\n\t\t1. Immetti misurazioni\n\t\t2. Calcola media giornaliera e complessiva\n\t\t3. Visualizza valori e medie\n\t\t4. Esci\n");
    		printf("\t\t\t\t\t\t\tScelta:");
    		while((c = getc(stdin)) != EOF && c != '\n' && c != '1' && c != '2' && c != '3' && c != '4');
    		if (c == '1') {
    			printf("\n\n// Immissione dati paziente\n\n");
                            for(i=0;i<7;i++)
                                for(j=0;j<4;j++) {
                                    printf("%s - Ore %s\n\nPressione sanguigna(mmHg):\n",settimana[i],ore[j]);
                                    do {
                                        printf("minima: ");
                                        res = scanf("%d",&Pmin[i][j]);
                                        while(getc(stdin)!='\n');
    		                } while(Pmin[i][j] < 60 || Pmin[i][j] > 100 || res==0);
                                    do {
                                        printf("massima: ");
                                        res = scanf("%d",&Pmax[i][j]);
                                        while(getc(stdin)!='\n');
    		                } while(Pmax[i][j] < 80 || Pmax[i][j] > 180 || res==0);
                                    do {
    			            printf("\nFrequenza cardiaca(bpm): ");
                                        res = scanf("%d",&freq[i][j]);
                                        while(getc(stdin)!='\n');
    		                } while(freq[i][j] < 30 || freq[i][j] > 110 || res==0);
                                }
                    }
    		if (c == '2') {
    			printf("\n\n// Calcolo medie per giorno e complessiva\n\n");
                            for(i=0;i<7;i++) {
                                printf("%s:\nMedia pressione minima(mmHg): ",settimana[i]);
                                for(j=0;j<4;j++)
    			        pmin_med[i] += Pmin[i][j];
    			    pmin_med[i] /= 4;
    			    printf("%g",pmin_med[i]);
                                printf("\nMedia pressione massima(mmHg): ");
                                for(j=0;j<4;j++)
    			        pmax_med[i] += Pmax[i][j];
    			    pmax_med[i] /= 4;
    			    printf("%g",pmax_med[i]);
                                printf("\nMedia frequenza cardiaca(bpm): ");
                                for(j=0;j<4;j++)
    			        freq_med[i] += freq[i][j];
    			    freq_med[i] /= 4;
    			    printf("%g",freq_med[i]);
    			    printf("\n\npremere un tasto per continuare...\n\n");
    		            getchar();			    
     			}
                            printf("MEDIA SETTIMANA:\nMedia pressione minima(mmHg): ");
                            for(i=0;i<7;i++) 
    			    pmin_fin += pmin_med[i];
    			pmin_fin /= 7;
    			printf("%g",pmin_fin);
    			printf("\nMedia pressione massima(mmHg): ");
                            for(i=0;i<7;i++) 
    			    pmax_fin += pmax_med[i];
    			pmax_fin /= 7;
    			printf("%g",pmax_fin);
                            printf("\nMedia frequenza cardiaca(bpm): ");
                            for(i=0;i<7;i++) 
    			    freq_fin += freq_med[i];
    			freq_fin /= 7;
    			printf("%g",freq_fin);
    	    		while(!getchar());
    		}
    		if (c == '3') {
    			printf("\n\n// Visualizzazione dei valori\n\n");
    			for(i=0;i<7;i++) {
    			    printf(" %s",settimana[i]);
    			    for(j=0;j<4;j++)
    			        printf("h: %s",ore[i]);
    			    printf("  MEDIA\n");
                                printf("Pressione sanguigna in mmHg(MIN-MAX)");
                                for(j=0;j<4;j++)
                                    printf("%9d-%9d",Pmin[i][j],Pmax[i][j]);
                                printf("%9.4g-%9.4g",pmin_med[i],pmax_med[i]);
    			    printf("\nFrequenza cardiaca in bpm");
                                for(j=0;j<4;j++)
                                    printf("%9d",freq[i][j]);
                                printf("%9.4g",freq_med[i]);
    			}
    			printf("MEDIA SETTIMANA");
    			for(j=0;j<4;j++)
    			    printf("h: %s",ore[i]);
    			printf("  MEDIA\n");
                            printf("Pressione sanguigna in mmHg(MIN-MAX)");
    			double pmin_h[4], pmax_h[4], freq_h[4];
                            for(i=0;i<4;i++) {
                               pmin_h[i] = 0;
                               pmax_h[i] = 0;
                               freq_h[i] = 0;
                            }
    			for(j=0;j<4;j++) {
     			    for(i=0;i<7;i++) {
    				pmin_h[j] += Pmin[i][j];
    				pmax_h[j] += Pmax[i][j];
                                    freq_h[j] += freq[i][j];
    			    }
                                pmin_h[j] /= 7;
    		            pmax_h[j] /= 7;
    		            freq_h[j] /= 7;
    			    printf("%9.4g-%9.4g",pmin_h[j],pmax_h[j]);
                                printf("%9.4g-%9.4g",pmin_fin,pmax_fin);
    			    printf("\nFrequenza cardiaca in bpm");
    			    for(j=0;j<4;j++)
    			        printf("%9.4g",freq_h[j]);
    			    printf("%9.4g",freq_fin);
    			    while(!getchar());
                          
                           }
                          
    		}
    	} while (c != '4');
    	printf("\n\n");
    }
    Credo sia questa in rosso che hai dimenticato..almeno dando una prima occhiata sembra proprio questa..

    Prego hai fatto prima di me a scrivere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.