Buongiorno a tutti,
sono un novellino del c++ e sto cercando di imparare creando qualche programma a me utile.
Nella fattispecie sto elaborando un programma capace di emettere un "treno" di note secondo lo standard ZVEI1 utilizzato su alcuni apparati radio.
Lo ZVEI1 è così articolato: vi sono tutti i numeri dallo 0 al 9 e le lettere dalla A alla E, a ciascun simbolo è assegnata una frequenza audio.
Il mio obiettivo è: raccogliere il codice a 5 cifre inserito dall'utente secondo lo standard suddetto(può essere misto numeri/lettere), far generare la "melodia" da trasmettere via radio.
Ho iniziato a creare il listato ma mi sono arenato,
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include <process.h>
using namespace std;
// array contenente le frequenze corrispondenti ai simboli della codifica ZVEI1 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
int frequenza_zvei1[16] = {2400, 1060, 1160, 1270, 1400, 1530, 1670, 1830, 2000, 2200, 2800, 810, 970, 885, 2600, 680};
// lunghezza del singolo tono in ms
int t_tono = 40;
// spazio fra ogni singolo tono in ms
int t_spazio = 10;
// codice a 5 cifre che dovrà inserire l'utente
string codice_selettiva = "";
// array riempito con la scomposizione delle cifre costituenti il codice inserito dall'utente
int cifre_sel[5];
int i;
int main (int argc, char *argv[])
{
system("color 1E");
cout << "\nCODIFICATORE ZVEI1" << endl;
while (1>0)
{
cout << "\n-------------------------------------------------------------------------" << endl;
cout << "\nINSERIRE LA SEQUENZA SELCALL E PREMERE INVIO PER GENERARE: \n" << endl;
cin >> codice_selettiva;
i = codice_selettiva.length();
if (i<5 or i>5)
{
cout << "\n\a\a\aERRORE - SEQUENZA SELCALL NON CONFORME"<<endl;
getchar();
getchar();
system("cls");
}
else
{
//DA INSERIRE funzione per creazione dei toni audio DA INSERIRE
cout << "\nSELCALL INVIATA! VERIFICARE TONO DI RITORNO PER CONFERMA RICEZIONE";
getchar();
getchar();
system("cls");
}
}
}
Dunque io pensavo di scomporre il codice a 5 cifre inserito dall'utente e usare la singola cifra come indice dell'array per andare a ripescare la frequenza che mi interessa...il problema è come andare a pescare la frequenza se l'utente inserisce una lettera (che non posso usare come indice).
Per il resto penso di essere in grado di arrangiarmi...almeno credo!
Immagino che il codice che finora ho scritto non sia il massimo della raffinatezza, se qualcuno volesse commentarlo proponendo miglioramenti gliene sarei infinitamente grato! GRAZIE! Nicolò