blocc0
05-10-2013, 11:58
Ciao a tutti,
arrivo subito al sodo. Ho un problema relativo all'esecuzione di un programma in c++. Ho iniziato da poco, e per ora mi limito a fare qualche programmino del genere, giusto per aver meglio chiari i procedimenti e per evitare di fare calcoli. Siate clementi :D
// Risolutore sistemi lineari 2 equazioni.cpp : definisce il punto di ingresso dell'applicazione console.
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
#include <iostream>
using namespace std; //dichiarazione della libreria "iostream.h"
#include <conio.h> //dichiarazione della libreria "conio.h" per il richiamo della funzione "clrscr()"
#include <math.h>
void main(){
float PI = 3.14;
int scelta; //Dichiarazione delle variabili
char uscita='n';
int num,esp,ris=0;
while ((uscita!='s')&&(uscita!='S')){ //ciclo che controlla l'uscita dal programma (se uscita='y' il ciclo si interrompe)
//Visualizzazione del menu di scelta
cout <<"\nScegli l'operazione che vuoi effettuare:\n\n";
cout <<"1. Risolvere un sistema lineare con 2 equazioni\n";
cout <<"2. Trovare m e q di una retta conoscendone 2 punti\n";
cout <<"3. Esci dal programma\n\n";
cout <<"Digita il numero dell'operazione che vuoi effettuare:\t";
cin >> scelta; //legge da tastiera la scelta da effettuare
switch(scelta){ //struttura di selezione che svolge l'azione relativa alla scelta effettuata
case 1:
{
float a1,b1,a2,b2,c1,c2 = 0;
float x,y = 0;
int fine;
cout << "\n Questo programma risolve sistemi di primo grado \n con due equazioni e due incognite.\n" << endl;
cout << "Inserisci i dati seguendo le istruzioni:\n " << endl;
cout << "Inserisci il coefficiente di x nella prima equazione ";
cin >> a1;
cout << "Inserisci il coefficiente di y nella prima equazione ";
cin >> b1;
cout << "Inserisci il termine noto nella prima equazione ";
cin >> c1;
cout << "Inserisci il coefficiente di x nella seconda equazione " ;
cin >> a2;
cout << "Inserisci il coefficiente di y nella seconda equazione " ;
cin >> b2;
cout << "Inserisci il termine noto nella seconda equazione ";
cin >> c2;
x = (c1*b2-c2*b1) / (a1*b2-a2*b1);
y = (a1*c2-a2*c1) / (a1*b2-a2*b1);
if ((a1*b2-a2*b1)== 0) {
cout << "Il D del sistema e' 0 e il D delle incognite è diverso da 0 \ quindi il sistema è impossibile.";
}
else if((a1*b2-a2*b1)== 0 && (c1*b2-c2*b1)== 0) {
cout << "\n Il D dell'incognita e quello del sistema sono uguali a 0 \n quindi il sistema e' indeterminato.";
}
else if((a1*b2-a2*b1)== 0 && (a1*c2-a2*c1)== 0) {
cout << "\n Il D dell'incognita e quello del sistema sono uguali a 0 \n quindi il sistema e' indeterminato.";
}
else {
cout << "Valore di x: " << x << endl;
cout << "Valore di y: " << y << endl;
}
cout << "\n \n Premi un tasto per continuare..." << endl;
getch(); //aspetta che viene premuto un tasto (funzione della libreria "iostream.h")
system("cls"); //pulisce lo schermo (funzione della libreria "conio.h")
break;
}
case 2:
{
float x1,y1,x2,y2,m,q;
cout << "\n Questo programma ti permette di trovare l'angolazione di una retta e \n l'intercetta conoscendo due punti.\n" << endl;
cout << "Inserisci i dati seguendo le istruzioni:\n" << endl;
cout << "Inserisci l'ascissa del primo punto ";
cin >> x1;
cout << "Inserisci l'ordinata del primo punto ";
cin >> y1;
cout << "Inserisci l'ascissa del secondo punto ";
cin >> x2;
cout << "Inserisci l'ordinata del secondo punto ";
cin >> y2;
m = (y1 - y2)/(x1 - x2);
q = (x1*y2 - x2*y1)/(x1 - x2);
cout << "m = " << m << endl;
cout << "q = " << q << endl;
m = atan(m) *180 / PI;
cout << "\n L'angolo della retta è " << m;
cout << "\n Premi un tasto per continuare...";
getch();
system("cls");
break;
}
case 3: //nel caso che la scelta sia 3 (Esci dal programma)...
{
cout<<"Sei sicuro di voler uscire? : "; //chiede conferma dell'uscita
cin>>uscita; //legge la relativa risposta
if (uscita=='S' || uscita=='s') {
cout <<"Programma terminato. Chiudere la finestra di esecuzione.";
break; //...interrompe il programma
}
else{
if (uscita!='n' && uscita!='N'){
cout<<"\nErrore! Devi digitare s o n\n"; //comunica l'errore
cout<<"\nPremi un tasto per continuare...";
getch();
uscita='n'; //riavvia il programma
}
system("cls");
}
break;
}
default: //comunica l'errore nel caso che sia stata effettuata una
{ //scelta diversa dalle 3 possibili
cout<<"La scelta effettuata non è corretta!\n";
cout<<"Premere un tasto per continuare...";
getch();
system("cls");
break;
}
}
}
}
Ora, io utilizzo come IDE Microsoft Visual C++ 2010 Express. Sul mio pc funziona, ma una volta che metto l'exe su chiavetta e lo provo su un pc di scuola mi dice che manca una libreria (non ricordo qualwe). Ora, a me servirebbe eseguire il programma sul pc a scuola, ma non voglio installare la libreria, perchè sennò devo fare questo procedimento ogni volta (scaricarla e installarla su ogni pc che non ce l'ha). Come faccio a farlo andare senza libreria?
Un'altra soluzione, penso, potrebbe essere rifare il codice scrivendolo in Java, creando così un programma che può essere eseguito su qualunque pc (non penso ne esistano senza installata la virtual machine di Java :) ). Ma il problema è che il java non lo conosco proprio, ma se fosse necessario soono pronto a studiarlo. Secondo voi qual'è la soluzione? Vi ringrazi;) o tutti anticipatamente
arrivo subito al sodo. Ho un problema relativo all'esecuzione di un programma in c++. Ho iniziato da poco, e per ora mi limito a fare qualche programmino del genere, giusto per aver meglio chiari i procedimenti e per evitare di fare calcoli. Siate clementi :D
// Risolutore sistemi lineari 2 equazioni.cpp : definisce il punto di ingresso dell'applicazione console.
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
#include <iostream>
using namespace std; //dichiarazione della libreria "iostream.h"
#include <conio.h> //dichiarazione della libreria "conio.h" per il richiamo della funzione "clrscr()"
#include <math.h>
void main(){
float PI = 3.14;
int scelta; //Dichiarazione delle variabili
char uscita='n';
int num,esp,ris=0;
while ((uscita!='s')&&(uscita!='S')){ //ciclo che controlla l'uscita dal programma (se uscita='y' il ciclo si interrompe)
//Visualizzazione del menu di scelta
cout <<"\nScegli l'operazione che vuoi effettuare:\n\n";
cout <<"1. Risolvere un sistema lineare con 2 equazioni\n";
cout <<"2. Trovare m e q di una retta conoscendone 2 punti\n";
cout <<"3. Esci dal programma\n\n";
cout <<"Digita il numero dell'operazione che vuoi effettuare:\t";
cin >> scelta; //legge da tastiera la scelta da effettuare
switch(scelta){ //struttura di selezione che svolge l'azione relativa alla scelta effettuata
case 1:
{
float a1,b1,a2,b2,c1,c2 = 0;
float x,y = 0;
int fine;
cout << "\n Questo programma risolve sistemi di primo grado \n con due equazioni e due incognite.\n" << endl;
cout << "Inserisci i dati seguendo le istruzioni:\n " << endl;
cout << "Inserisci il coefficiente di x nella prima equazione ";
cin >> a1;
cout << "Inserisci il coefficiente di y nella prima equazione ";
cin >> b1;
cout << "Inserisci il termine noto nella prima equazione ";
cin >> c1;
cout << "Inserisci il coefficiente di x nella seconda equazione " ;
cin >> a2;
cout << "Inserisci il coefficiente di y nella seconda equazione " ;
cin >> b2;
cout << "Inserisci il termine noto nella seconda equazione ";
cin >> c2;
x = (c1*b2-c2*b1) / (a1*b2-a2*b1);
y = (a1*c2-a2*c1) / (a1*b2-a2*b1);
if ((a1*b2-a2*b1)== 0) {
cout << "Il D del sistema e' 0 e il D delle incognite è diverso da 0 \ quindi il sistema è impossibile.";
}
else if((a1*b2-a2*b1)== 0 && (c1*b2-c2*b1)== 0) {
cout << "\n Il D dell'incognita e quello del sistema sono uguali a 0 \n quindi il sistema e' indeterminato.";
}
else if((a1*b2-a2*b1)== 0 && (a1*c2-a2*c1)== 0) {
cout << "\n Il D dell'incognita e quello del sistema sono uguali a 0 \n quindi il sistema e' indeterminato.";
}
else {
cout << "Valore di x: " << x << endl;
cout << "Valore di y: " << y << endl;
}
cout << "\n \n Premi un tasto per continuare..." << endl;
getch(); //aspetta che viene premuto un tasto (funzione della libreria "iostream.h")
system("cls"); //pulisce lo schermo (funzione della libreria "conio.h")
break;
}
case 2:
{
float x1,y1,x2,y2,m,q;
cout << "\n Questo programma ti permette di trovare l'angolazione di una retta e \n l'intercetta conoscendo due punti.\n" << endl;
cout << "Inserisci i dati seguendo le istruzioni:\n" << endl;
cout << "Inserisci l'ascissa del primo punto ";
cin >> x1;
cout << "Inserisci l'ordinata del primo punto ";
cin >> y1;
cout << "Inserisci l'ascissa del secondo punto ";
cin >> x2;
cout << "Inserisci l'ordinata del secondo punto ";
cin >> y2;
m = (y1 - y2)/(x1 - x2);
q = (x1*y2 - x2*y1)/(x1 - x2);
cout << "m = " << m << endl;
cout << "q = " << q << endl;
m = atan(m) *180 / PI;
cout << "\n L'angolo della retta è " << m;
cout << "\n Premi un tasto per continuare...";
getch();
system("cls");
break;
}
case 3: //nel caso che la scelta sia 3 (Esci dal programma)...
{
cout<<"Sei sicuro di voler uscire? : "; //chiede conferma dell'uscita
cin>>uscita; //legge la relativa risposta
if (uscita=='S' || uscita=='s') {
cout <<"Programma terminato. Chiudere la finestra di esecuzione.";
break; //...interrompe il programma
}
else{
if (uscita!='n' && uscita!='N'){
cout<<"\nErrore! Devi digitare s o n\n"; //comunica l'errore
cout<<"\nPremi un tasto per continuare...";
getch();
uscita='n'; //riavvia il programma
}
system("cls");
}
break;
}
default: //comunica l'errore nel caso che sia stata effettuata una
{ //scelta diversa dalle 3 possibili
cout<<"La scelta effettuata non è corretta!\n";
cout<<"Premere un tasto per continuare...";
getch();
system("cls");
break;
}
}
}
}
Ora, io utilizzo come IDE Microsoft Visual C++ 2010 Express. Sul mio pc funziona, ma una volta che metto l'exe su chiavetta e lo provo su un pc di scuola mi dice che manca una libreria (non ricordo qualwe). Ora, a me servirebbe eseguire il programma sul pc a scuola, ma non voglio installare la libreria, perchè sennò devo fare questo procedimento ogni volta (scaricarla e installarla su ogni pc che non ce l'ha). Come faccio a farlo andare senza libreria?
Un'altra soluzione, penso, potrebbe essere rifare il codice scrivendolo in Java, creando così un programma che può essere eseguito su qualunque pc (non penso ne esistano senza installata la virtual machine di Java :) ). Ma il problema è che il java non lo conosco proprio, ma se fosse necessario soono pronto a studiarlo. Secondo voi qual'è la soluzione? Vi ringrazi;) o tutti anticipatamente