Esempio esercizio svolto C++ Prova Programmazione 1

Facebook Twitter Pinterest Esercizio svolto soluzione di una prova di esame dell’esame di Programmazione 1 – Linguaggio C++ Un file di testo è così strutturato: 2+3+12=9+8;2+3+4=9;22=3+4+5+10;3+85+1=4+44; alcune uguaglianze sono corrette altre no; infatti nel file l’ultima riga il primo membro la somma non coincide con la somma del secondo membro. Scrivere un programma in C++ che letti i dati dal files, attraverso una funzione calcoli la frazione di somme corrette a video. Soluzione: Il progetto si compone di tre files due con header e un main. Ecco il primo header: #include <iostream>#include <fstream>using namespace std;struct Somme {       int num1[20];       int num2[20];       int ris2;       int addendi1;       int addendi2;       int corretto=0;       int ris1;}; void leggi_file (fstream& f, struct Somme s[], int& l);int controllo (struct Somme s);void stampa(struct Somme s[],int l);float rapporto (struct Somme s[], int l); La struct contiene i numeri del primo membro e del secondo all’interno di due array, le somme sono memorizzate nei campi ris1, ris2, mentre le variabili addendi1 e addendi2 sono il numero degli addendi delle due somme. La variabile corretto indica se le somme del primo e del secondo mebro di ogni riga del files coincidono.Sono state realizzate quattro funzioni la prima che estrae dal file sequenziale i dati caricandoli nella tballe, la seconda interna che controlla una sola riga della tabella creata, la terza che stampa i dati (è stata utilizzata solo a scopo di test nel main non è eseguita), la quarta che scansiona la tabella e richiama di volta in volta la funzione controlla per verificare se le somme coincidono. L’implementazione delle funzioni è: #include “funzioni.h”void leggi_file (fstream& f, struct Somme s[], int& l){    int i=0;    int j=0;    int n;    int flag=1;    char temp;    f.open(“somme.txt”, ios::in);    if (!f) {         cout<<“file non trovato!\n”;         exit(1);    }        l=0;    f>>n>>temp;    while (!f.eof()){           s[l].addendi1=0;           s[l].addendi2=0;           if (flag==1){               if (temp==’+’){                   s[l].num1[i]=n;      …

Esercizio svolto soluzione di una prova di esame dell'esame di Programmazione 1 - Linguaggio C++

Un file di testo è così strutturato:

2+3+12=9+8;
2+3+4=9;
22=3+4+5+10;
3+85+1=4+44;

alcune uguaglianze sono corrette altre no; infatti nel file l'ultima riga il primo membro la somma non coincide con la somma del secondo membro.

Scrivere un programma in C++ che letti i dati dal files, attraverso una funzione calcoli la frazione di somme corrette a video.

Soluzione:

Il progetto si compone di tre files due con header e un main. Ecco il primo header:

#include <iostream>
#include <fstream>
using namespace std;

struct Somme {
       int num1[20];
       int num2[20];
       int ris2;
       int addendi1;
       int addendi2;
       int corretto=0;
       int ris1;
};

void leggi_file (fstream& f, struct Somme s[], int& l);
int controllo (struct Somme s);
void stampa(struct Somme s[],int l);
float rapporto (struct Somme s[], int l);

La struct contiene i numeri del primo membro e del secondo all'interno di due array, le somme sono memorizzate nei campi ris1, ris2, mentre le variabili addendi1 e addendi2 sono il numero degli addendi delle due somme. La variabile corretto indica se le somme del primo e del secondo mebro di ogni riga del files coincidono.

Ciao devi sottoscrivere un abbonamento per poter visualizzare l'intero articolo con il relativo video.

Approfitta dei numerosi vantaggi per gli iscritti ! Test, Video Lezioni esclusive senza pubblicità oltre tanti articoli sull'informatica dalla programmazione alla sistemistica.
Per poter sotto scrivere un abbonamento devi prima registrati e poi sotto scrivere un piano di abbonamento.
Buon proseguimento !