Aiuto Programma computo metrico

di il
9 risposte

Aiuto Programma computo metrico

Salve
ho creato questo programma per mia iniziativa, ma da degli errori logici che non riesco a sistemare. Gradirei un vostro aiuto. vi posto il programma qui sotto.

Grazie

#include <iostream>
#include <cstdlib>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
	float vet1[5]={4.24,7.22,2.22,6.80,2.24};
	float vet2[2]={2.36,1.12};
	float vet3[10]={1.76,1.50,1.34,1.18,1.02,3.50,2.21,1.70,1.27,1.03};
	float vet4[4]={3.44,4.79,3.77,4.10};
	float vet5[1]={12.88};
	float vet6[4]={0.40,0.16,0.10,0.09};
	float vet7[3]={0.30,0.19,0.09};
    float pezzi_interrutore,prezzi_interrutore,pezzi_deviatore, prezzi_deviatore,pezzi_invertitore,prezzi_invertitore,pezzi_rele,prezzi_rele;
	float pezzi_bipolare,prezzi_bipolare;
    int scelta,scelta1,Totale;
			

	printf("\nSeleziona il materiale che vuoi utilizzare:\n\n");
	printf("10) Interrutori \n");
	printf("20) Scatole \n");
    printf("30) Tubi \n");
	printf("40) Prese \n");
	printf("50) Placche \n");
	printf("60) Morsetti \n");
	printf("70) Cavi \n");
	printf("80) Prezzo Totale\n");
	printf("00) Esci \n");
	scanf("%d",&scelta);
	switch(scelta)
	{
		    case 10:
			
			 	  {
					printf("\nSeleziona i tipi di interrutori che vuoi:\n\n");
					printf("11) Normale \n");
					printf("21) Deviatore \n");
					printf("31) Invertitore \n");
					printf("41) Relè \n");
					printf("51) Bipolare \n");
					printf("01) Esci \n");
			  	    scanf("%f",&scelta1);
				    switch(scelta1);
				 {
					case 11:
						printf("\nIl prezzo di un interrutore normale è di 4.24€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&prezzi_interrutore);
						vet1[1]*pezzi_interrutore==prezzi_interrutore;
						Totale=prezzi_interrutore;
						break;
					case 21:
						printf("\nIl prezzo di un deviatore è di 2.22€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_deviatore);
						vet1[2]*pezzi_deviatore==prezzi_deviatore;
						Totale=Totale+prezzi_deviatore;
						break;
					case 31:
						printf("\nIl prezzo di un invertitore è di 7.22€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_invertitore);
						vet1[3]*pezzi_invertitore==prezzi_invertitore;
						Totale=Totale+prezzi_invertitore;
						break;
					case 41:
						printf("\nIl prezzo di un relè è di 6.80€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_rele);
						vet1[4]*pezzi_rele==prezzi_rele;
						Totale=Totale+prezzi_rele;
						break;
					case 51:
						printf("\nIl prezzo di un interrutore biporale è di 2.24€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_bipolare);
						vet1[5]*pezzi_bipolare==prezzi_bipolare;
						Totale=Totale+prezzi_bipolare;
						break;
				}		
			       } 
		{
		   {
			    float pezzi_derivazione,prezzi_derivazione, pezzi_portafrutti,prezzi_portafrutti;
	 		 	int scelta2;
					
					case 20:
					
				{
					printf("\nSeleziona i tipi di scatole che vuoi:\n\n");
					printf("12) Derivazione \n");
					printf("22) Portafrutti \n");
					printf("02) Esci \n");
					scanf("%f",&scelta2);
					switch(scelta2)
					{
						case 12:
							printf("\nIl prezzo di una scatola di derivazione è di 2.36€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_derivazione);
							vet2[1]*pezzi_derivazione==prezzi_derivazione;
							Totale=Totale+prezzi_derivazione;
							break;
						case 22:
							printf("\nIl prezzo di una scatola portafrutti è di 1.22€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_portafrutti);
							vet2[2]*pezzi_portafrutti==prezzi_portafrutti;
							Totale=Totale+prezzi_portafrutti;
							break;
					}
				}
			}
		}
		{
			float pezzi_fle50,prezzi_fle50,pezzi_fle40,prezzi_fle40, pezzi_fle32,prezzi_fle32,pezzi_fle20,prezzi_fle20,pezzi_fle16,prezzi_fle16;
			float pezzi_rig50,prezzi_rig50,pezzi_rig40,prezzi_rig40, pezzi_rig32,prezzi_rig32,pezzi_rig20,prezzi_rig20,pezzi_rig16,prezzi_rig16;
	 		int scelta3;
	 		
			case 30:
			
			{
				printf("\nSeleziona i tipi di tubi che vuoi:\n");
				printf("13) flessibile con Ø 50 mm^2 \n");
				printf("23) flessibile con Ø 40 mm^2 \n");
				printf("33) flessibile con Ø 32 mm^2 \n");
				printf("43) flessibile con Ø 20 mm^2 \n");
				printf("53) flessibile con Ø 16 mm^2 \n");
				printf("63) rigido con Ø 50 mm^2 \n");
				printf("73) rigido con Ø 40 mm^2 \n");
				printf("83) rigido con Ø 32 mm^2 \n");
				printf("93) rigido con Ø 20 mm^2 \n");
				printf("103) rigido con Ø 16 mm^2 \n");
				printf("03) Esci \n");
				scanf("%f",&scelta3);
				switch(scelta3)
				{
					case 13:
						printf("\nIl prezzo di un tubo flessibile con Ø 50 mm^2 è di 1.76€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_fle50);
						vet3[1]*pezzi_fle50==prezzi_fle50;
						Totale=Totale+prezzi_fle50;
						break;
					case 23:
						printf("\nIl prezzo di un tubo flessibile con Ø 40 mm^2 è di 1.50€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_fle40);
						vet3[2]*pezzi_fle40==prezzi_fle40;
						Totale=Totale+prezzi_fle40;
						break;
					case33:
						printf("\nIl prezzo di un tubo flessibile con Ø 32 mm^2 è di 1.34€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_fle32);
						vet3[3]*pezzi_fle32==prezzi_fle32;
						Totale=Totale+pezzi_fle32;
						break;
					case 43:
						printf("\nIl prezzo di un tubo flessibile con Ø 20 mm^2 è di 1.18€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_fle20);
						vet3[4]*pezzi_fle20==prezzi_fle20;
						Totale=Totale+prezzi_fle20;
						break;
					case 53:
						printf("\nIl prezzo di un tubo flessibile con Ø 16 mm^2 è di 1.02€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_fle16);
						vet3[5]*pezzi_fle16==prezzi_fle16;
						Totale=Totale+prezzi_fle16;
						break;
					case 63:
						printf("\nIl prezzo di un tubo rigido con Ø 50 mm^2 è di 3.50€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_rig50);
						vet3[6]*pezzi_rig50==prezzi_rig50;
						Totale=Totale+prezzi_rig50;
						break;
					case 73:
						printf("\nIl prezzo di un tubo rigido con Ø 40 mm^2 è di 2.21€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_rig40);
						vet3[7]*pezzi_rig40==prezzi_rig40;
						Totale=Totale+prezzi_rig40;
						break;
					case 83:
						printf("\nIl prezzo di un tubo rigido con Ø 32 mm^2 è di 1.70€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_rig32);
						vet3[8]*pezzi_rig32==prezzi_rig32;
						Totale=Totale+prezzi_rig32;
						break;
					case 93:
						printf("\nIl prezzo di un tubo rigido con Ø 20 mm^2 è di 1.27€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_rig20);
						vet3[9]*pezzi_rig20==prezzi_rig20;
						Totale=Totale+prezzi_rig20;
						break;
					case 103:
						printf("\nIl prezzo di un tubo rigido con Ø 16 mm^2 è di 1.03€\nSeleziona il numero di pezzi che vuoi\n");
						scanf("%f",&pezzi_rig16);
						vet3[10]*pezzi_rig16==prezzi_rig16;
						Totale=Totale+prezzi_rig16;
						break;
				}
			}
		}
		{
			float pezzi_pre10A,prezzi_pre10A,pezzi_pre1016,prezzi_pre1016, pezzi_pre16A,prezzi_pre16A,pezzi_schuko,prezzi_schuko;
			int scelta4;
			case 40:
	     	
	     		{
	     			printf("\nSeleziona i tipi di prese che vuoi:\n\n");
				    printf("14) presa da 10A \n");
				    printf("24) presa da 10/16A \n");
					printf("34) presa da 16A \n");
					printf("44) Schuko \n");
			    	printf("04) Esci \n");
					scanf("%f",&scelta4);
					switch(scelta4)
					{
						case 14:
						    printf("\nIl prezzo della presa da 10A è di 3.44€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_pre10A);
							vet4[1]*pezzi_pre10A==prezzi_pre10A;
							Totale=Totale+prezzi_pre10A;
							break;
					    case 24:
							printf("\nIl prezzo della presa da 10/16A è di 4.79€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_pre1016);
							vet4[2]*pezzi_pre1016==prezzi_pre1016;
							Totale=Totale+prezzi_pre1016;
							break;
						case 34:
							printf("\nIl prezzo della presa da 16A è di 3.77€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_pre16A);
							vet4[3]*pezzi_pre16A==prezzi_pre16A;
							Totale=Totale+prezzi_pre16A;
							break;
						case 44:
							printf("\nIl prezzo della presa Schuko è di 4.10€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_schuko);
							vet4[4]*pezzi_schuko==prezzi_schuko;
							Totale=Totale+prezzi_schuko;
							break;
					}
	     		}
		}
	     {
	     	float pezzi_pla,prezzi_pla;
			int scelta5;
			case 50:
	     	
	     		{
	     			printf("\nSeleziona i tipi di placche che vuoi:\n\n");
				    printf("15) placca \n");
				    printf("05) Esci \n");
					scanf("%f",&scelta5);
					switch(scelta5)
					{
						case 15:
	     					printf("\nIl prezzo della placca è di 12.88€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_pla);
							vet5[1]*pezzi_pla==prezzi_pla;
							Totale=Totale+prezzi_pla;
							break;
					}
	     		}
	     }	
	    {
	    	float pezzi_mor16,prezzi_mor16,pezzi_mor10,prezzi_mor10, pezzi_mor6,prezzi_mor6,pezzi_mor4,prezzi_mor4;
			int scelta6;
			case 60:
	     	
	     		{
	     			printf("\nSeleziona i tipi di morsetti che vuoi:\n\n");
				    printf("16) morsetto con Ø 16 mm^2 \n");
				    printf("26) morsetto con Ø 10 mm^2 \n");
					printf("36) morsetto con Ø 6 mm^2 \n");
					printf("46) morsetto con Ø 4 mm^2 \n");
			    	printf("06) Esci \n");
					scanf("%f",&scelta6);
					switch(scelta6)
					{
						case 16:
							printf("\nIl prezzo di un morsetto con diametro 16 mm^2 è di 0.40€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_mor16);
							vet6[1]*pezzi_mor16==prezzi_mor16;
							Totale=Totale+prezzi_mor16;
							break;
						case 26:
							printf("\nIl prezzo di un morsetto con diametro 10 mm^2 è di 0.16€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_mor10);
							vet6[2]*pezzi_mor10==prezzi_mor10;
							Totale=Totale+prezzi_mor10;
							break;
						case 36:
							printf("\nIl prezzo di un morsetto con diametro 6 mm^2 è di 0.10€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_mor6);
							vet6[3]*prezzi_mor6==prezzi_mor6;
							Totale=Totale+prezzi_mor6;
							break;
						case 46:
							printf("\nIl prezzo di un morsetto con diametro 4 mm^2 è di 0.09€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_mor4);
							vet6[4]*pezzi_mor4==prezzi_mor4;
							Totale=Totale+prezzi_mor4;
							break;
					}
	     		}
	    }
	    {
	    	float pezzi_f25,prezzi_f25,pezzi_f15,prezzi_f15,pezzi_f5,prezzi_f5, pezzi_n25,prezzi_n25,pezzi_n15,prezzi_n15,pezzi_n5, prezzi_n5,pezzi_t25,prezzi_t25,pezzi_t15,prezzi_t15,pezzi_t5,prezzi_t5;
			int scelta7;
			case 70:
	     	
	     		{
	     			printf("\nSeleziona i tipi di cavi che vuoi:\n\n");
				    printf("17) Fase con Ø 2.5 mm^2 \n");
				    printf("27) Fase con Ø 1.5 mm^2 \n");
					printf("37) Fase con Ø 0.5 mm^2 \n");
					printf("47) Neutro con Ø 2.5 mm^2 \n");
					printf("57) Neutro con Ø 1.5 mm^2 \n");
					printf("67) Neutro con Ø 0.5 mm^2 \n");
					printf("77) Terra con Ø 2.5 mm^2 \n");
					printf("87) Terra con Ø 1.5 mm^2 \n");
					printf("97) Terra con Ø 0.5 mm^2 \n");
			    	printf("07) Esci \n");
					scanf("%f",&scelta7);
					switch(scelta7)
					{
						case 17:
							printf("\nIl prezzo di un cavo Fase con Ø 2.5 mm^2 è di 0.30€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_f25);
							vet7[1]*pezzi_f25==prezzi_f25;
							Totale=Totale+prezzi_f25;
							break;
						case 27:
							printf("\nIl prezzo di un cavo Fase con Ø 1.5 mm^2 è di 0.19€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_f15);
							vet7[2]*pezzi_f15==prezzi_f15;
							Totale=Totale+prezzi_f15;
							break;
						case 37:
							printf("\nIl prezzo di un cavo Fase con Ø 0.5 mm^2 è di 0.09€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_f5);
							vet7[3]*pezzi_f5==prezzi_f5;
							Totale=Totale+prezzi_f5;
							break;
						case 47:
							printf("\nIl prezzo di un cavo Neutro con Ø 2.5 mm^2 è di 0.30€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_n25);
							vet7[1]*pezzi_n25==prezzi_n25;
							Totale=Totale+prezzi_n25;
							break;
						case 57:
							printf("\nIl prezzo di un cavo Neutro con Ø 1.5 mm^2 è di 0.19€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_n15);
							vet7[2]*pezzi_n15==prezzi_n15;
							Totale=Totale+prezzi_n15;
							break;
						case 67:
							printf("\nIl prezzo di un cavo Neutro con Ø 0.5 mm^2 è di 0.09€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_n5);
							vet7[3]*pezzi_n5==prezzi_n5;
							Totale=Totale+prezzi_n5;
							break;
						case 77:
							printf("\nIl prezzo di un cavo Terra con Ø 2.5 mm^2 è di 0.30€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_t25);
							vet7[1]*pezzi_t25==prezzi_t25;
							Totale=Totale+prezzi_t25;
							break;
						case 87:
							printf("\nIl prezzo di un cavo Terra con Ø 1.5 mm^2 è di 0.19€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_t15);
							vet7[2]*pezzi_t15==prezzi_t15;
							Totale=Totale+prezzi_t15;
							break;
						case 97:
							printf("\nIl prezzo di un cavo Terra con Ø 0.5 mm^2 è di 0.09€\nSeleziona il numero di pezzi che vuoi\n");
							scanf("%f",&pezzi_t5);
							vet7[3]*pezzi_t5==prezzi_t5;
							Totale=Totale+prezzi_t5;
							break;
					}
	     		}
	    }
	    {
	    	float Prezzo_Totale,Totale;
	    	int scelta8;
			case 80:
	     	
	     		{
	     			printf("\nEcco il prezzo totale da te selezionato");
	     			scanf("%f",&Prezzo_Totale);
	     			Prezzo_Totale==Totale;
	     			switch(scelta8);
	     	     }
		}
	}

}

9 Risposte

  • Re: Aiuto Programma computo metrico

    Usa i code tags. Cosi si capisce nulla. Spiega con parole tue cosa deve fare il programma e cosa hai imparato fino ad adesso del C. Il tuo problema si può risolvere meglio con gli struct ma non so se li sai utilizzare.
  • Re: Aiuto Programma computo metrico

    E chiarisci in dettaglio cosa sono questi "errori logici" ...
  • Re: Aiuto Programma computo metrico

    Scusate l'interferenza, ho messo il listato tra tag code e inserito qualche spazio al centro di alcune righe perchè ho visto che slargavano il template del forum.... su questa cosa devo farci un fix perchè capita spesso.
  • Re: Aiuto Programma computo metrico

    Toki ha scritto:


    su questa cosa devo farci un fix perchè capita spesso.
    Succede anche in altri forum simili ...
  • Re: Aiuto Programma computo metrico

    Credo che con certi listati non c'è template che tenga.
  • Re: Aiuto Programma computo metrico

    Il programma servirebbe a creare una sorta di preventivo di un impianto elettrico di una casa.
    Per errori logici si intende, penso che ci sia qualcosa di sbagliato all'interno degli switch.
    Non usate questi struct perché non so come si usino, basta sistemare gli switch.
    Grazie
  • Re: Aiuto Programma computo metrico

    Ronco96 ha scritto:


    basta sistemare gli switch.
    Sì, ma come?

    Non si possono sistemare delle cose in un programma senza sapere esattamente quale problema ci sia ...

    Lo dico perché altrimenti non avrai molto aiuto ...
  • Re: Aiuto Programma computo metrico

    Gli errori che mi da sono questi :

    - quando entro nel menù degli interruttori,e voglio selezionare un interruttore diverso da quello normale comunque entra nel menù degli interruttori normali e non nei deviatori ,invertitori, ecc..
    - Poi se seleziono i restanti menù tipo tubi, placche, morsetti, cavi, riesco ad entrare nel sottomenù, ma quando provo ad esempio a selezionare i tipi di scatole va nel menù dei tubi non facendomi selezionare il numero di pezzi.
  • Re: Aiuto Programma computo metrico

    Per tutti gli input delle scelte deve essere

    scanf("%d",&scelta1);

    e non

    scanf("%f",&scelta1);

    Sono variabili intere quindi ci va %d e non %f
Devi accedere o registrarti per scrivere nel forum
9 risposte