
Interrogazione Informatica
By:
LookedPath on
May 23rd, 2012 | syntax:
C++ | size: 2.00 KB | hits: 26 | expires: Never
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <string.h>
#include <windows.h>
#include <algorithm>
#include <vector>
using namespace std;
void centra(char* s)
{
int l=strlen(s);
int pos=(int)((80-l-2)/2);
cout<<"*";
for(int i=0;i<pos;i++)
cout<<" ";
cout<<s;
for(int i=0;i<pos;i++)
cout<<" ";
cout<<"*";
}
void pausa() {
fflush(stdin);
cout<<"Premi INVIO per continuare...";getchar();
}
void pausatermina() {
fflush(stdin);
cout<<"Premi INVIO per terminare il programma...";getchar();
}
void errore(){cout<<"Hai inserito dei valori non validi"<<endl;
pausatermina();
}
int avvio(string cmd="ncmd" ,float val1=0 ,float val2=0)
{
if(cmd=="ncmd") {for(int i=0;i<80;i++)cout<<"*";
centra("Hai avviato questo programma dall'interfaccia grafica del tuo O.S.");centra("puoi anche avviarlo tramite shell facendogli eseguire comandi arbitrari.");
centra("In tal caso la sintassi del comando deve essere quella seguente:");centra(" [nome eseguibile] [comando] [valore1] [valore2]");
centra("Un esempio pu\xffffff95 essere: eseguibile1.exe somma 1 2");
for(int i=0;i<80;i++)cout<<"*";
pausa();
return 0;} else {if(cmd=="somma") {cout<<"La somma "<<val1<<"+"<<val2<<" ha come risultato "<<val1+val2<<endl;
pausatermina();
} else {cout<<"Hai avviato il programma tramite shell ma con dei parametri sbagliati: "<<cmd<<" "<<val1<<" "<<" "<<val2<<endl;
pausatermina();
}
}
return 0;
}
int main(int argc,char *argv[])
{
std::string cmdin;float val1in,val2in;
switch(argc) {case 1:
avvio();
break;
default:
cmdin = argv[1];val1in=atof(argv[2]);val2in=atof(argv[3]);
avvio(cmdin,val1in,val2in);
break;
}
return 0;
}