10/10/09 14:16
diescc
Salve a tutti..
sono nuovo di questa community e vi volevo porvi un problema.
Sto cercando di imparare le API di C++ unsando Dev-C++ come compilatore..
Ora... stavo cercando di creare un programma che, data una Formula chimica, restituisce il nome in IUPAC.
Ma non riesco a far capire al compilatore che deve Comparare il carattere di testo immesso dall'utente con tutti i caratteri memorizzati in uno struct all'interno del programma dei rispettivi elementi...
ecco qua il codice..
//interprete.cpp:
#include <windows.h>
#include "resource.h"
#include "elementi.h"
typedef struct ATOMO {
int pedice;
int no;
int nossidazione[4];
char* elemento;
};
typedef struct formula {
int nAtomi;
ATOMO atomo[3];
};
formula Converti(HWND hwnd,char f[12])
{
formula Form;
ATOMO Atom;
elementi el=InitElement();
int k=0,x;
while (k<5)
{
x = 1;
while (x<7)
{
if (f[k]==el.simbolo[x])
{MessageBox(0,"idrogeno",0,0);
Form.nAtomi++;
Atom.elemento=el.elemento[x];
Atom.no=el.no[x];
for (int y;y<=el.no[x];y++)
Atom.nossidazione[y] = el.nossidazione[x][y];
Form.atomo[k]=Atom;
}
if (f[k]=='Salve a tutti..
sono nuovo di questa community e vi volevo porvi un problema.
Sto cercando di imparare le API di C++ unsando Dev-C++ come compilatore..
Ora... stavo cercando di creare un programma che, data una Formula chimica, restituisce il nome in IUPAC.
Ma non riesco a far capire al compilatore che deve Comparare il carattere di testo immesso dall'utente con tutti i caratteri memorizzati in uno struct all'interno del programma dei rispettivi elementi...
ecco qua il codice..
//interprete.cpp:
#include <windows.h>
#include "resource.h"
#include "elementi.h"
typedef struct ATOMO {
int pedice;
int no;
int nossidazione[4];
char* elemento;
};
typedef struct formula {
int nAtomi;
ATOMO atomo[3];
};
formula Converti(HWND hwnd,char f[12])
{
formula Form;
ATOMO Atom;
elementi el=InitElement();
int k=0,x;
while (k<5)
{
x = 1;
while (x<7)
{
if (f[k]==el.simbolo[x])
{MessageBox(0,"idrogeno",0,0);
Form.nAtomi++;
Atom.elemento=el.elemento[x];
Atom.no=el.no[x];
for (int y;y<=el.no[x];y++)
Atom.nossidazione[y] = el.nossidazione[x][y];
Form.atomo[k]=Atom;
}
if (f[k]=='{parsed_message}')
{
MessageBox(0,"FINE","",0);
return Form;
}
MessageBox(0,0,0,0);
x++;
}
k++;
}
return Form;
}
char* Traduci(HWND hwnd,char formul[12]) //<<<----------INIZIO IUPAC-------------->>>
{
formula Form;
Form = Converti(hwnd,formul);
if (Form.atomo[0].elemento=="idrogeno" && Form.atomo[0].pedice==0)
MessageBox(0,"Formula confremata.\nAlgoritmo funzionante","",0);
}
//elementi.cpp
#include <windows.h>
typedef struct elementi
{
char* elemento[109];
char simbolo[109];
int no[109];
int nossidazione[109][4];
};
elementi InitElement()
{
elementi EL;
EL.elemento[1]="idrogeno";
EL.simbolo[1]='H';
EL.no[1]=1;
EL.nossidazione[1][0]=1;
return EL;
}
problema è "if (f[k]==el.simbolo[x])"
Spero che i nomi delle variabili siano abbastanza chiari.
')
{
MessageBox(0,"FINE","",0);
return Form;
}
MessageBox(0,0,0,0);
x++;
}
k++;
}
return Form;
}
char* Traduci(HWND hwnd,char formul[12]) //<<<----------INIZIO IUPAC-------------->>>
{
formula Form;
Form = Converti(hwnd,formul);
if (Form.atomo[0].elemento=="idrogeno" && Form.atomo[0].pedice==0)
MessageBox(0,"Formula confremata.\nAlgoritmo funzionante","",0);
}
//elementi.cpp
#include <windows.h>
typedef struct elementi
{
char* elemento[109];
char simbolo[109];
int no[109];
int nossidazione[109][4];
};
elementi InitElement()
{
elementi EL;
EL.elemento[1]="idrogeno";
EL.simbolo[1]='H';
EL.no[1]=1;
EL.nossidazione[1][0]=1;
return EL;
}
problema è "if (f[k]==el.simbolo[x])"
Spero che i nomi delle variabili siano abbastanza chiari.
sono nuovo di questa community e vi volevo porvi un problema.
Sto cercando di imparare le API di C++ unsando Dev-C++ come compilatore..
Ora... stavo cercando di creare un programma che, data una Formula chimica, restituisce il nome in IUPAC.
Ma non riesco a far capire al compilatore che deve Comparare il carattere di testo immesso dall'utente con tutti i caratteri memorizzati in uno struct all'interno del programma dei rispettivi elementi...
ecco qua il codice..
//interprete.cpp:
#include <windows.h>
#include "resource.h"
#include "elementi.h"
typedef struct ATOMO {
int pedice;
int no;
int nossidazione[4];
char* elemento;
};
typedef struct formula {
int nAtomi;
ATOMO atomo[3];
};
formula Converti(HWND hwnd,char f[12])
{
formula Form;
ATOMO Atom;
elementi el=InitElement();
int k=0,x;
while (k<5)
{
x = 1;
while (x<7)
{
if (f[k]==el.simbolo[x])
{MessageBox(0,"idrogeno",0,0);
Form.nAtomi++;
Atom.elemento=el.elemento[x];
Atom.no=el.no[x];
for (int y;y<=el.no[x];y++)
Atom.nossidazione[y] = el.nossidazione[x][y];
Form.atomo[k]=Atom;
}
if (f[k]=='Salve a tutti..
sono nuovo di questa community e vi volevo porvi un problema.
Sto cercando di imparare le API di C++ unsando Dev-C++ come compilatore..
Ora... stavo cercando di creare un programma che, data una Formula chimica, restituisce il nome in IUPAC.
Ma non riesco a far capire al compilatore che deve Comparare il carattere di testo immesso dall'utente con tutti i caratteri memorizzati in uno struct all'interno del programma dei rispettivi elementi...
ecco qua il codice..
//interprete.cpp:
#include <windows.h>
#include "resource.h"
#include "elementi.h"
typedef struct ATOMO {
int pedice;
int no;
int nossidazione[4];
char* elemento;
};
typedef struct formula {
int nAtomi;
ATOMO atomo[3];
};
formula Converti(HWND hwnd,char f[12])
{
formula Form;
ATOMO Atom;
elementi el=InitElement();
int k=0,x;
while (k<5)
{
x = 1;
while (x<7)
{
if (f[k]==el.simbolo[x])
{MessageBox(0,"idrogeno",0,0);
Form.nAtomi++;
Atom.elemento=el.elemento[x];
Atom.no=el.no[x];
for (int y;y<=el.no[x];y++)
Atom.nossidazione[y] = el.nossidazione[x][y];
Form.atomo[k]=Atom;
}
if (f[k]=='{parsed_message}')
{
MessageBox(0,"FINE","",0);
return Form;
}
MessageBox(0,0,0,0);
x++;
}
k++;
}
return Form;
}
char* Traduci(HWND hwnd,char formul[12]) //<<<----------INIZIO IUPAC-------------->>>
{
formula Form;
Form = Converti(hwnd,formul);
if (Form.atomo[0].elemento=="idrogeno" && Form.atomo[0].pedice==0)
MessageBox(0,"Formula confremata.\nAlgoritmo funzionante","",0);
}
//elementi.cpp
#include <windows.h>
typedef struct elementi
{
char* elemento[109];
char simbolo[109];
int no[109];
int nossidazione[109][4];
};
elementi InitElement()
{
elementi EL;
EL.elemento[1]="idrogeno";
EL.simbolo[1]='H';
EL.no[1]=1;
EL.nossidazione[1][0]=1;
return EL;
}
problema è "if (f[k]==el.simbolo[x])"
Spero che i nomi delle variabili siano abbastanza chiari.
')
{
MessageBox(0,"FINE","",0);
return Form;
}
MessageBox(0,0,0,0);
x++;
}
k++;
}
return Form;
}
char* Traduci(HWND hwnd,char formul[12]) //<<<----------INIZIO IUPAC-------------->>>
{
formula Form;
Form = Converti(hwnd,formul);
if (Form.atomo[0].elemento=="idrogeno" && Form.atomo[0].pedice==0)
MessageBox(0,"Formula confremata.\nAlgoritmo funzionante","",0);
}
//elementi.cpp
#include <windows.h>
typedef struct elementi
{
char* elemento[109];
char simbolo[109];
int no[109];
int nossidazione[109][4];
};
elementi InitElement()
{
elementi EL;
EL.elemento[1]="idrogeno";
EL.simbolo[1]='H';
EL.no[1]=1;
EL.nossidazione[1][0]=1;
return EL;
}
problema è "if (f[k]==el.simbolo[x])"
Spero che i nomi delle variabili siano abbastanza chiari.
Ultima modifica effettuata da diescc 10/10/09 14:30
aaa