Aufrufparameter



  • Ich denke mal Sie müssen irgendetwas in meiner main() ersetzen nur was ist die Frage.





  • Der einfachste Fall wäre erstmal:

    int main(int argc, char **argv)
    {
        for(int i = 0;i < argc; ++i)
          cout << i << " " << argv[i] << "\n";
    
        return 0;
    }
    

    Dazu musst du aber das Programm mit Paramtern aufrufen.
    Am einfachsten geht das in der Konsole.

    Man kann die Paramter auch in der IDE einstellen. Wie das geht hängt aber von der IDE ab.



  • Das Programm will trotzdem nicht funktionieren.



  • craki schrieb:

    Das Programm will trotzdem nicht funktionieren.

    Verdammt gute Fehlerbeschreibung. 👍

    Das ist auch kein komplettes Programm.



  • Helft mir mal bitte.


  • Mod



  • Wie kann ich meine main() so verändern,dass die Aufrufparameter benutzt werden?

    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    #define MAX 10
    void MinMaxMean(double*Data, int cnt, double**Max = NULL, double**Min = NULL, double*Mean = NULL)
    
    {
    	//int Datamin = Data[0], 
    	double sum = 0.0;
    	double*var = Data;
    	double *Datamax = Data;
    	double *Datamin = Data;
    	/*double*var2 = Max;
    	double*var3 = Min;
    	double*var4 = Mean;*/
    
    	for (var = Data; var < cnt + Data; var++)
    	{
    		if (*var > *Datamax)                    //Data[i]
    			Datamax = var;
    		if (*var < *Datamin)								//Data[i]
    			Datamin = var;
    
    		sum += *var;
    
    	}
    	if (Max != 0)
    		*Max = Datamax;
    	if (Min != 0)
    		*Min = Datamin;
    	if (Mean != 0)
    		*Mean = sum / cnt;
    
    }
    int main(int argc, char **argv)
    {
    	double arr[MAX];
    	int i, cnt = 0;
    
    	//cout << "Geben Sie bis zu 10 Zahlen ein\n"
    //		<< "(Abbruch mit Buchstaben):\n" << endl;
    
    	for (int i = 0; i < argc; ++i)		//neu
    		cout << i << "Geben Sie bis zu 10 Zahlen ein\n " << argv[1] << "Abruch mit Buchstaben";	//neu
    
    	//for (i = 0; i <MAX && cin>> arr[i]; ++i);		 //    MAX   && cin  // arr[i] 
    
    	cnt = argc;										//cnt=i
    	double *Min, *Max, Mean;
    	MinMaxMean(arr, cnt, &Max, &Min);					//(arr, cnt, &Max, &Min);
    	MinMaxMean(arr, cnt, NULL, &Min, NULL);				//(arr, cnt, NULL, &Min, NULL);		
    	MinMaxMean(arr, cnt, NULL, NULL, &Mean);			//(arr, cnt, NULL, NULL, &Mean);
    
    	cout <<"\nAnzahl: " <<cnt << endl;  // vorher cnt 
    	if (cnt > 0)							//vorher cnt
    	{
    		cout <<"Kleinster Wert: " << argv[2] << endl               //*Min
    			<< "\nGroesster Wert: " << argv[3]<< endl				//*Max
    			<< "\nDurschnitt: " << argv[4] << endl					//Mean
    			<< endl;	
    	}
    	system("PAUSE");
    	return 0;
    }
    


  • Helf mir mal bitte [quote="SeppJ"] wäre nett 👍


  • Mod

    Ich glaube nicht, dass du hier noch freiwillige Helfer für deine Sache begeistern wirst. Für wie dumm hältst du uns? Ich werde es jedenfalls ganz sicher nicht tun.



  • Was passiert denn gerade in deinem Programm (wie sieht die Ausgabe auf)?

    Bitte per Copy&Paste und mit Code-Tags hier posten. Kein Bild!


Anmelden zum Antworten