Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
C++ - Non compare niente in CMD.
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
er maximo
Semidio
Semidio


Registrato: 15/01/08 17:16
Messaggi: 268

MessaggioInviato: 19 Dic 2011 21:27    Oggetto: C++ - Non compare niente in CMD. Rispondi citando

Buona sera a tutti!
È un po' che non entro qui.. ma mi siete venuti subito in mente quando ho capito che da solo non avrei mai trovato soluzione a questo problema..

In pratica ho scritto un prog in c++ e all'avvio, preceduto dalla compilazione, mi esce solo "Premere un pulsante per continuare..." (insomma, il tipico messaggio di system("pause").

Tutto è nella stessa cartella, anche il txt. Tutto correttamente contentuo nel progetto.

puntoh.h
Codice:
#include <iostream>
#include <fstream>
using namespace std;

const int nmax=50;
typedef int vettore[nmax];
typedef vettore matrice[nmax];
struct dati{
       float med;
       int mag;
       };
typedef dati strut_vet[nmax];

void leggi_mat(matrice matfile, int &rigfile, int& colfile);
float calcola_med(strut_vet VS, int colfile);
void crea_vet_struct(int rigfile, int colfile, matrice matfile, strut_vet VS, vettore Vet);
void stampa_mat(matrice matfile, int rigfile, int colfile);
void stampa_vet_struct (strut_vet VS, int rigfile);


funz.cpp
Codice:

#include "puntoh.h"

void leggi_mat(matrice matfile, int& rigfile, int &colfile){
     
     ifstream input;
     input.open("Mat.txt");
     if(!input.fail()){
                       cout<<"Errore apertura file, l'eseguibile verrà terminato.";
                       system("Pause");
                       exit(1);
                       }
     input>>rigfile>>colfile;
     while(!input.eof()){
                        for(int i=0; i<rigfile; i++)
                                for(int j=0; j<colfile; j++)
                                        input>>matfile[i][j];
                        }
     input.close();
     }
         
float calcola_med(vettore Vet, int colfile){
     
                          int i, som;
                          float media;
                          for(int j=0; i<colfile; j++)
                                      som+=Vet[j];
                          media=float(som)/colfile;
                         
                          return media;                                     
                          }
                         
void crea_vet_struct(int rigfile, int colfile, matrice matfile, strut_vet VS, vettore Vet){
     
     int i, j, k;
     for(i=0; i<rigfile; i++){
         for(j=0; j<colfile; j++)
                 Vet[j]=matfile[i][j];
         float f=calcola_med(Vet, colfile);
         VS[i].med=f;
         k=0;
         for (j=0; j<rigfile; j++){
             if(Vet[j]>f)
                         k++;
             }
         VS[i].mag=k;
     }
     }       
                         
                 
     
void stampa_mat(matrice matfile, int rigfile, int colfile){
     
     int i, j;
     cout<<"\nEcco la matrice d'interi:";
     for (i=0; i<rigfile; i++){
         cout<<endl;
         for(j=0; j<colfile; j++)
                  cout<<"\t"<<matfile[i][j];
         }
     }

void stampa_vet_struct (strut_vet VS, int rigfile){
     
     int i;
     cout<<"\nQuesto è il vettore strutture.media con il relativo numero di elemeti del vet maggioni della media";
     for (i=0; i<rigfile; i++)
         cout<<"\n"<<VS[i].med<<"\t"<<VS[i].mag;
     }


main.cpp
Codice:
#include "puntoh.h"

int main(){
    strut_vet VS;
    vettore Vet;
    matrice matfile;
    int rigfile, colfile;
   
    void leggi_mat(matrice matfile, int rigfile, int colfile);
    void crea_vet_struct(int rigfile, int colfile, matrice matfile,strut_vet VS, vettore Vet);
    void stampa_mat(matrice matfile, int rigfile, int colfile);
    void stampa_vet_struct (strut_vet VS, int rigfile);
    system("pause");
    }




Anche se non è molto importante ecco il testo.

Testo della prova

Sia data una matrice di interi M memorizzata in un file di testo (Mat.txt), che contiene nella prima riga il valore dei riempimenti di riga e di colonna (rig e col) e nelle successive gli elementi della matrice (come illustrato negli esempi che seguono).

Si progettino cinque funzioni:
- leggi_mat, che legge da file i riempimenti ed i valori di una matrice di interi;
- calcola_med che riceve in ingresso un vettore di interi e restituisce come valore di ritorno la media degli elementi del vettore;
- crea_vet_struct, che che riceve in ingresso rig, col ed M e restituisce come parametro di uscita un vettore VS di strutture (ciascuna composta da due campi, med e mag) avente tanti elementi quante sono le righe di M.
VS dovrà essere costruito in modo tale che il suo i-esimo elemento contenga nel campo med la media dei valori dell'i-esima riga di M (calcolata tramite la funzione calcola_med), e nel campo mag il numero di elementi dell'i-esima riga di M che sono maggiori di tale media;
- stampa_mat, che stampa a video una matrice di interi;
- stampa_vet_struct, che stampa a video un vettore di strutture aventi i due campi sopra descritti;
e si scriva un programma che, utilizzando queste funzioni, legga da file M, costruisca il vettore VS e stampi a video la matrice M ed il vettore VS.

Il programma dovrà essere suddiviso in moduli, uno contenente prototipi e dichiarazioni, uno contenente le funzioni leggi_mat, calcola_med, crea_vet_struct, stampa_mat e stampa_vet_struct ed un terzo contenente il main.



SPERO NELLA BONTÀ DI TUTTI VOI
DOMANI HO UN ESAMEEEEEEEE
Grazie in antipico.


P.S.
CONTENUTO DI MAT.TXT
Codice:
4 5
  2  6  6  4  3
  6 18  4  2  2
  2  2 12  6  6
  2  4  5  4  8
Top
Profilo Invia messaggio privato MSN
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10530
Residenza: Tokelau

MessaggioInviato: 20 Dic 2011 09:18    Oggetto: Rispondi citando

nel main devi chiamare le funzioni, non dichiararle...

cioè non devi fare
Codice:
void leggi_mat(matrice matfile, int rigfile, int colfile);

ma evidentemente
Codice:
leggi_mat(matfile, rigfile, colfile);


Ciao
Top
Profilo Invia messaggio privato HomePage
er maximo
Semidio
Semidio


Registrato: 15/01/08 17:16
Messaggi: 268

MessaggioInviato: 20 Dic 2011 09:45    Oggetto: Rispondi citando

L'ho appena modificato, per tutte le funz del main ma il risultato non cambia.

Per cercare l'origine del prob ho anche eliminato il "sys(pause)" che sta nel main e il risultato è che si aapre il cmd e non esce nemmeno una parola. VUOTO e poi si chiude.

come le funzioni non venissero proprio degnate di un bit..
Ho anche messo un scrittura su file in una della funz per vedere se almeno venivano calcolate e non ne uscito niente..
non so cosa dire
Top
Profilo Invia messaggio privato MSN
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10530
Residenza: Tokelau

MessaggioInviato: 20 Dic 2011 11:02    Oggetto: Rispondi citando

prova a togliere un attimo Mat.txt e vedere se almeno ti dà l'errore di lettura del file...

poi ti aiuti mettendo delle
Codice:
cout<<"sono qui!";
ogni tanto...
Top
Profilo Invia messaggio privato HomePage
er maximo
Semidio
Semidio


Registrato: 15/01/08 17:16
Messaggi: 268

MessaggioInviato: 21 Dic 2011 16:33    Oggetto: Rispondi citando

ho messo dei sono qui numerati prima e dopo ogni funzione (nel mail) e altri in OGNI funzione. Non ne è uscito nessuno.

se tolgo Mat.txt compila e poi finisce li.. non compare ne il cmd e ne posso compilare novamente.. devo prenmere il pulsante "RESETTA IL PROGRAMMA" nel dev.

Il fatto strano è che non fa comparire su schermo nemmeno il cout<<"sn qui1"; che ho messo nel main PRIMa di tutte le funzioni...

Provo a disinstallare e reinstallare il Dev.. XD

--------------------------------------------------------
appena disinstall e reinstallato... è la stessa cosa..
Top
Profilo Invia messaggio privato MSN
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10530
Residenza: Tokelau

MessaggioInviato: 21 Dic 2011 17:07    Oggetto: Rispondi citando

ma se fai un programma tipo
Codice:
main { cout<<"Prova"; }

neanche va?
che se non va neanche un programma come questo, il problema è che davvero l'ambiente non è settato in modo corretto... Confused
Top
Profilo Invia messaggio privato HomePage
er maximo
Semidio
Semidio


Registrato: 15/01/08 17:16
Messaggi: 268

MessaggioInviato: 21 Dic 2011 22:50    Oggetto: Rispondi citando

Ho aperto il progetto e i file e ho provato a:

1) fare come dici: il risultato è uguale

2) aprire un nuovo progetto e infilarci i file all'interno ed è uguale

3) iniziare con una nuova pagina, senza progetto, senza compilazione separata, SOLO IO E IL MAIN.. e funziona (il cout<<"minchiata";).

4) ho provato ad un unire tutti file in un singola pagina e mi da lo stesso problema
con l'unica eccezion di un miglioramento: i cout "minchia" che ho lasciato prima e dopo ogni funzione stavolta escono tutti (solo quelli del main, quelli nelle funz no).


Deduzione:
il problema riguarda qualcosa nel programma... un errore che non vediamo.. magari una finezza IMPERCETTIBILE..

p.s.

Citazione:
il problema è che davvero l'ambiente, non è settato in modo corretto


cosa intendi con "settato"?[/i]
Top
Profilo Invia messaggio privato MSN
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 10530
Residenza: Tokelau

MessaggioInviato: 22 Dic 2011 10:44    Oggetto: Rispondi citando

intendo 'configurato'...

comunque se almeno i primi cout funzionano stiamo già facendo passi avanti...

prova a commentare il codice dentro le funzioni e a metterci invece anche lì un cout<<"qualcosa";
Top
Profilo Invia messaggio privato HomePage
er maximo
Semidio
Semidio


Registrato: 15/01/08 17:16
Messaggi: 268

MessaggioInviato: 22 Dic 2011 10:59    Oggetto: Rispondi

sapevo che significava cofigurato XDD.. n sapevo che si facesse...

e, si.. come ho detto li ho già messi nelle funzoni e non vengono scritte quelli..

le funzioni vengono totalmente IGNORATE..

adesso vado a fare l'esame orale di info xD.. speriamo di prendere un buon voto..xD
Top
Profilo Invia messaggio privato MSN
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi