Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] esame vicino problema funzioni programma !!!

    Salve a tutti, sono nuovo del forum ma ho letto diversi articoli di html.it
    ho un problema: dovrei scrivere un programma che, partendo dal file "materiali.dat" (supponendo che sia gia' scritto e supponendo che contenga diversi materiali) distinti da un colore, un costo, se sono materiali per pavimenti o per pareti, lunghezza e altezza (dimensioni insomma), mi visualizzi il materiale per pavimento piu' costoso, mi visualizzi il materiale da parete piu' costoso, mi scriva su altri due file (pavimenti.dat e parete.dat) l'elenco dei rispettivi materiali (in pavimenti.dat mi scriva tutti i materiali da pavimenti, mentre in parete.dat mi scriva tutti i materiali da parete).
    Ho scritto qualcosina, il main sopratutto ma ho diversi problemi con le funzioni che devo utilizzare nel programma. vi posto quello che ho scritto:


    codice:
    #include <stdio.h>
    
    typedef enum {pavimento, parete} tipoMateriale;
    typedef struct {char colore[20];
    				float costo;
    				float lunghezza, altezza;
    				tipoMateriale tipo;
    				}caratteristicheMat;
    				
    	
    FILE *pf;
    			
    void visualizza_pavimento();
    void visualizza_parete();
    void scrivi_pavimento();
    void scrivi_parete();
    	
    void main ()
    		{	
    			caratteristicheMat materiale; 
    			caratteristicheMat nuovoMat;
    			int scelta;
    			
    		do	{	printf("digita 1 per visualizzare il pavimento piu' costoso,\ndigita 2 per visualizzare il materiale da parte piu' costoso,\ndigita 3 per ordinare tutti i pavimenti nel file pavimenti.dat,\ndigita 4 per ordinare tutti i materiali da parete nel file parete.dat,\ndigita 0 per terminare il programma:\n");
    			scanf("%d", &scelta);
    			
    		switch (scelta)
    				
    				{case 1: visualizza_pavimento();
    				         break;  
    				 
    				 case 2: visualizza_parete();
    				 		 break;
    				 
    				 case 3: scrivi_pavimento();
    				 		 break;
    				 
    				 case 4: scrivi_parete();
    				 		 break;
    				 
    				 case 0: printf("arrivederci");
    				 		 break;
    				 		 	 		 
    				}
    			while (scelta);
    			}
    			
    
    void visualizza_pavimento()
    	{ caratteristicheMat temp1;
    	  caratteristicheMat temp2;
    	  
    	  if(pf=fopen("materiali.dat", "r=") !=NULL)
    	  	{	while (fread(&temp1, sizeof(caratteristicheMat), 1, pf!=0 && fread(&temp2, sizeof(caratteristicheMat, 1, pf!=0) 
    	  			{if(temp.tipo == pavimento && temp1.costo <= temp2.costo)
    	                {


    grazie in anticipo, spero possiate aiutarmi o almeno darmi qualche dritta. ovviamente il programma deve essere scritto in linguaggio C

  2. #2

    Re: [C] esame vicino problema funzioni programma !!!

    Originariamente inviato da raziel8
    almeno darmi qualche dritta
    giusto come primo assioma d'ogni linguaggio di programmazione: le parentesi devono essere bilanciate; ad ogni parentesi aperta ne deve corrispondere una chiusa.
    ;-)

  3. #3
    grazie del consiglio, pero' lasciando perdere le formalita' tipo parentesi, sono piu' interessato alla scrittura delle funzioni nella maniera piu' opportuna e corretta, al fine di comprendere al meglio la funzionalita' che devo implementare...in questo caso la visualizzazione del costo maggiore. Spero che tu possa aiutarmi con un altro consiglio!

  4. #4
    priam di tutto non dici che tipo di problemi hai.. sul forum non ci sono maghi che possono aiutarti..

    seconda cosa scrivere in maniera corretta le parentesi non è uan formalità... hai mancato una parentesi alla fine per non parlare dell'indentazione che è completmanete errata (indentare male il codice è uno dei primi errori che portano a malfunzionamenti)

  5. #5
    il problema credo di averlo spiegato. non riesco a trovare il modo di scrivere una funzione adatta al mio scopo. la parentesi non importa, semplicemente perche' il codice che ho ricopiato e' incompleto, credevo fosse abbastanza chiaro ed evidente. Comunque ora lo sto specificando, il codice e' incompleto, e' semplicemente una pseudobase di codice su cui ognuno si poteva basare e completare a suo piacimento. Spero che qualcuno mi possa essere di aiuto, mago o stregone che sia!

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.