Esercizio con matrici e struct

di il
4 risposte

Esercizio con matrici e struct

Qualcuno può aiutarmi con questo esercizio in c++ con matrici e struct? Non so proprio da che parte cominciare e non riesco a mettere la struct nella matrice.
Questo per ora è ciò che ho fatto.
#include <iostream>
#include <string>
#include <fstream>
using namespace std;



struct trasporto {
	int ore;
	int minuti;
	float euro;
	int kilometri;

};


int ins(int matrice[3][3], trasporto viaggio[], int partenza, int arrivo, int ll, int lf1, int lf2) {
	for (int i = 0; i < lf1; i++) {
		for (int j = 0; j < lf2; j++) {
			matrice[partenza][arrivo] = viaggio[50].ore;
			matrice[partenza][arrivo] = viaggio[50].minuti;
			matrice[partenza][arrivo] = viaggio[50].euro;
			matrice[partenza][arrivo] = viaggio[50].kilometri;
		}
	}
	ll++;
		return ll;
}


int main() {
	int const lf1 = 3;
	int const lf2 = 3;
	int matrice[lf1][lf2];
	trasporto viaggio[50];
	int x = 0, ll = 0, partenza, arrivo, ora = 0, min = 0, euro = 0, km = 0;
	do {
		cout << "1 inizializzazione" << endl;
		cout << "2 per inserimento" << endl;
		cout << "3 per calcolo" << endl;
		cout << "4 per visualizzazione prima di una scadenza" << endl;
		cout << "5 per visualizzazione per costo" << endl;
		cout << "6 per visualizzazione di casa produttrice" << endl;
		cout << "7 per decremento" << endl;
		cout << "8 per eliminazione" << endl;
		cout << "9 per Salvataggio e Caricamento" << endl;
		cin >> x;
		switch (x) {
		case 1:
			for (int i = 0; i < lf1; i++) {
				for (int j = 0; j < lf2; j++) {
					viaggio[i].ore = -1;
					viaggio[i].minuti = -1;
					viaggio[i].euro = -1;
					viaggio[i].kilometri = -1;
				}
			}
			break;
		case 2:
			cout << "dimmi la partenza(0 montepiano, 1 saluzzo, 2 pianeto, 3 acquiterme)" << endl;
			cin >> partenza;
			cout << "dimmi la partenza(0 montepiano, 1 saluzzo, 2 pianeto, 3 acquiterme)" << endl;
			cin >> arrivo;
			cout << "dimmi l'ora" << endl;
			cin >> viaggio[50].ore;
			cout << "dimmi i minuti" << endl;
			cin >> viaggio[50].minuti;
			cout << "dimmi il prezzo" << endl;
			cin >> viaggio[50].euro;
			cout << "dimmi i kilometri" << endl;
			cin >> viaggio[50].kilometri;
			ll = ins(matrice, viaggio, partenza, arrivo, ll, lf1, lf2);

			break;
		case 3:
			cout << "dimmi la partenza(0 montepiano, 1 saluzzo, 2 pianeto, 3 acquiterme)" << endl;
			cin >> partenza;
			cout << "dimmi la partenza(0 montepiano, 1 saluzzo, 2 pianeto, 3 acquiterme)" << endl;
			cin >> arrivo;
			for (int i = 0; i < lf1; i++) {
					for (int j = 0; j < lf2; j++) {
							cout << matrice[partenza][arrivo];
				}
			}
			break;
		case 4:
			
			break;
		case 5:
			
			break;
		case 6:
			
			break;

		}
	} while (x != 0);
	system("pause");
	return 0;
}

Allegati:
26378_3f44fbc316185afec1ed3840aa33be50.png
26378_3f44fbc316185afec1ed3840aa33be50.png

4 Risposte

  • Re: Esercizio con matrici e struct

    Cosa non sai fare in particolare? Non puoi rimanere sul vago presentando tutto ... nessuno ti aiuterà su tutto.

    Indica problemi, errori, malfunzionamenti specifici ...
  • Re: Esercizio con matrici e struct

    oregon ha scritto:


    Cosa non sai fare in particolare? Non puoi rimanere sul vago presentando tutto ... nessuno ti aiuterà su tutto.

    Indica problemi, errori, malfunzionamenti specifici ...
    Di preciso non riesco a fare l'inserimento che c'è scritto. Ho provato, come scritto nel codice, a mettere la partenza e l'arrivo nella matrice per trovare la casella precisa e poter inserire i valori tramite la struct. Non riesco a capire come fare se devo mettere i due for per identificare la matrice anche se gli ho gia dato la partenza e l'arrivo e a come inserire la struct nella casella.
  • Re: Esercizio con matrici e struct

    Intanto se dichiari
    trasporto viaggio[50];
    tutte le chiamate del tipo viaggio[50].*** sono errate
  • Re: Esercizio con matrici e struct

    Un suggerimento ... se guardi bene l'immagine, ti accorgi che ogni elemento della matrice non è costituita da int ma dalle varie informazioni della struttura. Quindi

    trasporto matrice[4][4];
Devi accedere o registrarti per scrivere nel forum
4 risposte