Ciao a tutti! Vorrei sapere se è giusto un programma che ho realizzato, creando anche una libreria e namespace, la cui traccia è:
Seguendo i principi della programmazione strutturata e della modularità, si sviluppi un programma in C++che:
-richieda all'utente di inserire da tastiera un vettore di 10 numeri interi;
- richieda all'utente di inserire da tastiera un carattere che puo' assumere valore "s" o "d";
-in un sottoprogramma si effettui lo spostamento (shift) a sinistra o a destra di una posizione del contenuto del vettore a seconda del carattere inserito;
-visualizzi a video i risultati.
// file di intestazione=vettore.h
#ifndef vettore_h
#define vettore_h
#define N 10
typedef int vettore [N];
void spostamento (vettore,vettore,char);
#endif
//file sorgente=vettore.cpp
#include "vettore.h"
#include <iostream>
using namespace std;
namespace spost {
void spostamento (vettore p,vettore v,char lettera)
{if (lettera=='s'){
p[N-1]=v[0];
for(int i=0;i<N-1;i++) {
p=v[i+1];
}
}
else{
p[0]=v[N-1];
for(int i=0;i<N;i++) {
p=v[i-1];
}
}
}
}
//main.cpp
#include "vettore.h"
#include <iostream>
using namespace std;
using namespace spost;
int main() {
char lettera;
vettore p,v;
for(int i=0;i<N;i++) {
cout<<"v["<<i<<"]=";
cin>>v;
}
do {cout<<" Inserire lettera:";
cin>> lettera;
} while(lettera !='s'&& lettera!='d');
spostamento(p,v,lettera);
cout<<"Il nuovo vettore e':"<<endl;
for(int i=0;i<N;i++) {
cout<<"p["<<i<<"]="<<p<<endl;
}
return 0;
}