Beruflich Dokumente
Kultur Dokumente
#include <iostream>
using namespace std;
int main() {
char arr[81];
char arr2[81];
int a=0;
int n;
int j=0;
cout << "Geben Sie eine Zeichenkette ein: ";
cin >> arr;
cout << "Geben Sie eine natrliche Zahl ein: ";
cin >> n;
for (int i=0;arr[i]!='\0';i++)
{
a=a+1;
}
if (a>n)
{
for (int i=n;arr[i]!='\0';i++)
{
arr2[j]=arr[i];
j=j+1;
}
}
else
{
cout << "Fehler";
}
arr2[j]='\0';
cout <<arr2 << endl;
return 0;
#include <iostream>
using namespace std;
int main() {
const int maxz = 10;
const int maxs = 10;
int a,b,xin,yin,z1=0,z2=0,z3=0,z4=0;
char spielfeld [maxs][maxz];
char cx,cy, i='j';
char
*schiff1=0,*schiff12=0,*schiff13=0,*schiff14=0,*schiff15=0,*schiff21=0,*schiff22=0,*schiff23=0,*schi
ff31=0,*schiff32=0,*schiff4=0;
while (i=='j'){
while(z1==1&&z2==1&&z3==1&&z4==1){
z1=0;
z2=0;
z3=0;
z4=0;
}
for (a=0; a<maxs; a++) { // initialisiert das array mit punkten
for (b=0; b<maxz;b++) {
spielfeld [a][b] = '.';
}
}
cout << " 1 2 3 4 5 6 7 8 9 10" << endl; //Gibt das Array in Form einer Tabelle Aus
for (a=0; a<maxz; a++){
cout << (char)('A'+a) << " "; // Die Buchstaben werden nach dem Alphabet geordnet
ausgegeben
for (b=0; b<maxs; b++){
cout << " " << spielfeld[b][a];
}
cout << endl;
}
cout << "Bitte geben Sie die Startkoordinate des Schlachtschiffs ein (zb A1)" << endl << "Das Schiff
wird Horizontal von der eingegebenen Koordinate an gesetzt" << endl;
cin >> cy>> cx;
xin = cx -'1'; // Die Koordinaten werden vom Sichtbaren ins Arraytechnische umgerechnet, also aus
A1 ,wird A0
yin= cy - 'A';
spielfeld [xin][yin] = 'x'; // Die Nachliegenden Felder werden zustzlich mit einem x markiert
spielfeld [xin+1][yin] = 'x';
spielfeld [xin+2][yin] = 'x';
spielfeld [xin+3][yin] = 'x';
spielfeld [xin+4][yin] = 'x';
schiff1=&spielfeld[xin][yin]; //Die Pointer zeigen auf die Startkoordinate und auf die
Folgekoordianten
schiff12=&spielfeld[xin+1][yin];
schiff13=&spielfeld[xin+2][yin];
schiff14=&spielfeld[xin+3][yin];
schiff15=&spielfeld[xin+4][yin];
cout << " 1 2 3 4 5 6 7 8 9 10" << endl;
for (a=0; a<maxz; a++){
cout << (char)('A'+a) << " ";
for (b=0; b<maxs; b++){
cout << " " << spielfeld[b][a];
}
cout << endl;
}
cout << "Bitte geben sie die Startkoordinate vom Kreuzer ein" << endl << "Das Schiff wird
Horizontal von der eingegebenen Koordinate an gesetzt" << endl;
cin >>cy >>cx;
xin=cx- '1';
yin=cy - 'A';
spielfeld [xin][yin]='x';
spielfeld [xin+1][yin]='x';
spielfeld [xin+2][yin]='x';
schiff21=&spielfeld[xin][yin];
schiff22=&spielfeld[xin+1][yin];
schiff23=&spielfeld[xin+2][yin];
cout << " 1 2 3 4 5 6 7 8 9 10" << endl;
for (a=0; a<maxz; a++){
cout << (char)('A'+a) << " ";
for (b=0; b<maxs; b++){
cout << " " << spielfeld[b][a];
}
cout << endl;
}
cout << "Bitte geben Sie die Startkoordinate vom Segelschiff ein" << endl << "Das Schiff wird
Horizontal von der eingegebenen Koordinate an gesetzt" << endl;
cin >>cy >>cx;
xin =cx -'1';
yin= cy - 'A';
spielfeld [xin][yin]='x';
spielfeld [xin+1][yin]='x';
schiff31=&spielfeld[xin][yin];
schiff32=&spielfeld[xin+1][yin];
cout << " 1 2 3 4 5 6 7 8 9 10" << endl;
for (a=0; a<maxz; a++){
cout << (char)('A'+a) << " ";
for (b=0; b<maxs; b++){
cout << " " << spielfeld[b][a];
}
cout << endl;
}
cout << "Bitte geben Sie die Startkoordinate vom Kanu ein" << endl << "Das Schiff wird Horizontal
von der eingegebenen Koordinate an gesetzt" << endl;
cin >> cy >> cx;
xin = cx -'1';
yin = cy - 'A';
spielfeld [xin][yin]= 'x' ;
schiff4=&spielfeld[xin][yin] ;
if ((&spielfeld[xin][yin]==schiff1) ||(&spielfeld[xin][yin]==schiff12)||(&spielfeld[xin][yin]==schiff13)
|| (&spielfeld[xin][yin]==schiff14) || (&spielfeld[xin][yin]==schiff15) ||(&spielfeld[xin]
[yin]==schiff21)|| (&spielfeld[xin][yin]==schiff22) ||(&spielfeld[xin][yin]==schiff23)||(&spielfeld[xin]
[yin]==schiff31)||(&spielfeld[xin][yin]==schiff32)||(&spielfeld[xin][yin]==schiff4))
spielfeld[xin][yin]='x'; //Solange die Koordinatenaddresse mit der Addresse eines Pointer
bereinstimmt wird das Feld auf x gesetzt
else
spielfeld[xin][yin]='0';
if (spielfeld[xin][yin]=='x'){
if (*schiff1 && *schiff12 && *schiff13 && *schiff14 && *schiff15 =='x' && z1!=1){
cout << "Versenkt!" << endl;
z1=1;} // Sobald alle zugehrigen Schiffspointer auf x stehen, wird die meldung "Versenkt"
ausgegeben und ein zhler geht auf 1, damit diese Meldung nicht mehr ausgefhrt wird
else
if (*schiff21 && *schiff22 && *schiff23 =='x' && z2!=1){
cout << "Versenkt!" << endl;
z2=1;}
else
if (*schiff31 && *schiff32 =='x' && z3!=1){
cout << "Versenkt!" << endl;
z3=1;}
else
if (*schiff4=='x' &&z4!=1){
cout << "Versenkt!" << endl;
z4=1;}
else
cout << "Treffer!" <<endl;
}
else
cout << "Wasser!" << endl;
}
cout << "Gewonnen!" << endl; // Spielsieg, Programmende
cout << "Programm wiederholen? (j/n)" << endl;
cin >> i;
}
return 0;
}
H4-A3.C
#include <iostream>
#include <string.h>
using namespace std;
int main () {
char j;
cout << "Schreiben Sie ein Programm, das zunchst eine Zeichenkette (max. 80 Zeichen) einliest
und dann immer wieder ein einzelnes Zeichen einliest und die Zeichenkette ausgibt, die entsteht
wenn man das zuletzt eingegebene Zeichen aus der ursprnglichen Zeichenkette entfernt. (Das
Programm soll durch Eingabe eines ! beendet werden.) " << endl;
cout << endl;
do {
char kette[80], zeichen;
int i;
cout << "Bitte eine Zeichenkette (max. 80 Zeichen und ohne Leerzeichen) eingeben: " << endl;
cin >> kette;
cout << endl;
do {
cout << "Bitte geben Sie ein Zeichen ein, '!' bricht das Programm ab: ";
cin >> zeichen;
cout << endl;
if (zeichen == '!') {
break;
}
else {
cout << "Die Zeichenkette sieht ohne das gewhlte Zeichen so aus: ";
H4-A11.C
#include <iostream>
#include <string.h>
using namespace std;
int main () {
char j;
cout << "Lesen Sie eine Zeichenkette ein und geben Sie, je nach Benutzerwunsch eine kodierte,
bzw. dekodierte Version der Eingabe aus. Verwenden Sie dazu eine einfache Csar-Kodierung. " <<
endl;
cout << endl;
do {
int i;
char kette[50], code, out;
cout << "Bitte eine Zeichenkette (max. 50 Zeichen und ohne Leerzeichen) eingeben: ";
cin >> kette;
cout << endl << "Wollen Sie die Kette kodieren oder dekodieren? (k/d) ";
cin >> code;
cout << endl;
if (code == 'k') {
cout << "Die kodierte Version lautet: ";
for (int i = 0; i<=strlen(kette); i++) {
if (kette[i] == 'z') { out = 'a'; }
else if (kette[i] == 'Z') { out = 'A'; }
else { out = kette[i]+1; }
cout << out;
}
}
} while (j == 'j');
return 0;
}
H4a-4
#include <iostream>
using namespace std;
int main ()
{
bool belegt[Breite][Hoehe];
bool frei[Breite][Hoehe];
void felder_leeren();
void felder_anzeigen();
void felder_besetzen();
void felder_suchen();
void felder_gewinner();
void felder_legende();
int zaehler = 0;
cout << " ### Willkomen zu Schiffe versenken. Mit einem garantiertem ultimativem Spieleerlebnis
und Spafaktor ### " << endl;
cout << endl;
cout << " Der Spielmodus ist: Single Player; Man kann Felder auswaehlen und dann beschieen "
<< endl;
felder_leeren();
felder_besetzen();
felder_anzeigen();
felder_legende();
do{
felder_suchen();
felder_anzeigen();
}while(zaehler < 5);
felder_gewinner();
cin.get();
cin.get();
void felder_leeren()
{
for(int x=0; x<Breite; x++)
{
for(int y=0; y<Hoehe; y++)
{
belegt [x] [y] = false;
frei [x] [y] = false;
}
}
void felder_anzeigen()
{
zaehler=0;
if(frei[x][y]==false)
{
cout << "[ ]";
}
}
if(belegt[x][y]==false)
{
if(frei[x][y]==true)
{
cout << "[-]";
}
if(frei[x][y]==false)
{
cout << "[ ]";
}
}
void felder_besetzen()
{
cout << "Bitte 3 Felder belegen: " << endl;
for(int i=0; i<5; i++)
{
cout << " Feld " << i+1 << " x-Achse: ";
int x, y;
cin >> x;
cout << " Feld " << i+1 << " y-Achse: ";
cin >> y;
if(belegt[x-1][y-1]==true)
{
i--;
}
if(belegt[x-1][y-1]==false)
{
if(x>3) i--;
else if(x<1) i--;
else if(y>3) i--;
else if(y<1) i--;
else
{
belegt[x-1][y-1]=true;
}
}
cin.get();
}
}
void felder_suchen()
{
int los=0;
do{
int xp, yp;
cout << "\nPostion absuchen (x): ";
cin >> xp;
cout << "Position absuchen (y): ";
cin >> yp;
if(frei[xp-1][yp-1] == true)
{
if(xp>3) los=0;
else if(xp<1) los=0;
else if(yp>3) los=0;
else if(yp<1) los=0;
else
{
frei[xp-1][yp-1] = true;
los=1;
}
}
cin.get();
}while(los!=1);
}
void felder_gewinner()
{
if(zaehler==3)
{
cout << "\nGewonnen! " endl;
}
}
void felder_legende()
{
cout << "\n\n [ ] = noch nicht abgesucht " << endl;
cout << " [X] = Treffer " << endl;
cout << " [-] = kein Treffer " << endl;
}
} return 0;
}
Ad-Hoc-BSP 4a Gr.:7
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char a[81];
char b[81];
int pa=0,pb=0, pc=0;
int length;
cout << "1.Feld: ";
cin >> a;
cout << "2.Feld: ";
cin >> b;
length=strlen(a)+strlen(b);
char *c=new char[length];
while (a[pa]!='\0' && a[pb]!='\0')
{
if (a[pa]>b[pb])
{
c[pc]=b[pb];
pc=pc+1;
pb=pb+1;
}
else
{
c[pc]=a[pa];
pc=pc+1;
pa=pa+1;
}
}
for (int i=pa;i!=0;i++)
{
c[pc]=a[pa];
pa=pa+1;
pc=pc+1;
}
for (int i=pb;i!=0;i++)
{
c[pc]=b[pb];
pb=pb+1;
pc=pc+1;
}
c[pc]='\0';
pc=pc+1;
cout << c;
delete [] c;
return 0;
}
ist nur ne kleinigkeit, aber das hat wanek bei mir noch dazugetan:
length=strlen(a)+strlen(b) +1 (wegen dem \0 am ende)
#include <iostream>
#include <cstring>
int main () {
cin>>zKette1;
cin>>zKette2;
int groesse=strlen(zKette1)+strlen(zKette2)+1;
// speichert die einzelnen Buchstaben alphabetisch in die newzKette bis einer bei '\0' ist.
if (zKette1[pa]>zKette2[pb]){
newzKette[pc]=zKette2[pb];
pc=pc+1;
pb=pb+1;
}else
newzKette[pc]=zKette1[pa];
pc=pc+1;
pa=pa+1;
}
if (zKette1[pa]!='\0'){
for (;zKette1[pa]!='\0';pa=pa+1){
newzKette[pc]=zKette1[pa];
pc=pc+1;
}
}
if (zKette2[pb]!='\0'){
for (;zKette2[pb]!='\0';pb=pb+1){
newzKette[pc]=zKette2[pb];
pc=pc+1;
}
}
newzKette[pc]='\0';
delete[] newzKette;
return 0;
}
#include <iostream>
using namespace std;
int main() {
char in[81];
cin >> in;
int nklein=0, ngross=0,nsonder=0;
for (int i=0; in[i]!='\0'; i++) { // Feststellen der Anzahl von Gro, Klein, Sonderbuchstaben
if (in[i]>='A' && in[i]<='Z')
ngross++;
else if (in[i]>='a' && in[i] <= 'z')
nklein++;
else nsonder++;
}
char *eklein=new char[nklein+1]; // Platz fr Nullzeichen nicht vergessen!
char *egross=new char[ngross+1];
char *esonder=new char[nsonder+1];
int pklein=0, pgross=0, psonder=0;
return 0;
}
// Zusatzangabe Das Programm soll eine (Dynamische in exakt der erforderlichen Gre allozierte)
Zeichenkette erstellen, die anstatt der Zahlen des Ergebnisses die entsprechenden Zeichen so oft
enthlt, wie es der Zahl entspricht. Im obigen dritten Beispiel sollte d er Inhalt der Zeichenkette also
lauten: wweeersddaeeewwddeee
H- Bsp 5.3
#include <iostream>
using namespace std;
int main () {
char restart;
do {
int zahl1, zahl2;
cout << "Dieses Programm rechnet den groessten gemeinsamen Teiler zweier natuerlicher Zahlen
aus. " << endl << endl;
cout << "Bitte geben Sie die erste Zahl ein: ";
cin >> zahl1;
cout << "Bitte geben Sie die zweite Zahl ein: ";
cin >> zahl2;
cout << endl << "Der groesste gemeinsame Teiler ist " << ggt(zahl1, zahl2) << endl << endl;
cout << "Wollen Sie das Programm nochmal starten? (y/n) ";
cin >> restart;
cout << endl << endl;
return 0;
}
es sollen aber keine Schleifen verwendet werden! ...hab dazu eine tolle Lsung gefunden:
if (b==0)
return a;
else
return ggt(b, a%b); //Vertauscht durch return ggt(b, ergebnis a) zu ggt(a,b)
}
noch eine lsung:
#include <iostream>
using namespace std;
int main() {
int a=0,b=0;
cin >>a>>b;
cout<<f(a,b);
}
Adhoc Gr. 5
// Schreiben Sie eine Funktion int dif(int *arr1, * arr 2, int size), die zwei integer-Arrays und deren
Gre (size) als Parameter erhlt und die Differenz der Summe aller Werte in arr1 und der Summe
aller Werte in arr2 berechnet. Verwenden Sie keine Schleifen innerhalb der Funktion.
#include<iostream>
using namespace std;
int dif(int * arr1, int * arr2, int size) // von rechts nach links
{
if(size != 0)
{
int sum = arr1[size-1] - arr2[size-1];
return sum + dif(arr1, arr2, size-1);
}
else
return 0;
int main()
{
int anzahl=0;
cout << "Ergebnis: " << dif(ein1, ein2, anzahl) << endl;
return 0;
}
man liest zwei zahlen-felder ein und in einer neuen funktion soll kontrolliert werden ob an einer
stelle die beiden zahlen gleich sind
#include <iostream>
using namespace std;
Ad-Hoc 5 - Gruppe 3
#include <iostream>
using namespace std;
int main() {
return 0;
}
Man sollte zwei Strings Zeichen fr Zeichen auf Gleichheit prfen und ausgeben, wieviele Zeichen
gleich sind.
du warst so wie beim Programm selber schneller wie ich! :P - Hier meine Lsung
// Aufgabe war zu vergleichen, wie oft Str1 und Str2 an der selben Stelle gleich gro sind.
#include <iostream>
using namespace std;
int mix(char *str1, char *str2) {
if (str1[0]=='\0' || str2[0]=='\0') return 0;
if (str1[0]==str2[0]) return (str1[0]==str2[0])+mix(str1+1,str2+1); // anstatt der beiden if's kann man
return (str1[0]==str2[0])+mix(...) schreiben. Da true +1 und false +0 ergibt.
if (str1[0]!=str2[0]) return 0+mix(str1+1,str2+1);
}
int main() {
char str1[80];
char str2[80];
cout << "Geben Sie String1 ein ";
cin >> str1;
cout << "Geben Sie String2 ein ";
cin >> str2;
cout << mix(str1,str2);
return 0;
}
/* Aufgabe 6.1
(+) Ein Tischler hat ein Lager mit Brettern in drei Holzsorten (Buche, Eiche u. Mahagoni). Alle Bretter
haben den selben Querschnitt, sind aber unterschiedlich lang.
Wird ein Brett einer bestimmten Lnge verkauft, so wird, falls die entsprechende Lnge nicht vorrtig
ist, einfach das passende Stck von einem der vorhandenen Bretter abgeschnitten.
Um den Verschnitt nicht allzu gro werden zu lassen, soll dabei immer das krzest mgliche Brett
zersgt werden. Schreiben Sie ein Programm, das dem Tischler hilft, sein Lager zu verwalten.
Folgende Funktionen sind unabdingbar: Erfassung des aktuellen Bestandes, Einkauf von Brettern
beliebiger Lnge,
Verkauf von Brettern beliebiger Lnge (das Programm soll das krzest mgliche Brett automatisch
vorschlagen),
Aufrumen des Lagers (dabei werden alle Bretter, die eine vom Benutzer festzulegende Lnge
unterschreiten, aus dem Lager entfernt).
*/
#include <iostream>
using namespace std;
void lager(int *plager, int &i, int max) { // Pointer auf Array + Referenz von Size... man knnte
auch Adresse &size bergeben und mit int *i arbeiten.
int n;
for(;i<max;i++) {
cout << " Brett (m; 0=Abbruch): ";
cin >> n; // Umweg ber Variable n fr Abbruch mit 0.
if (n!=0)
plager[i]=n;
else return;
}
cout << "Lager voll!" << endl; // Funktion Lager wird auch fr den Einkauf benutzt!
return; // Funktion beendet Lager mit (i)Index+1!
}
int main() {
cout << "Geben Sie an wieviele Bretter Buchenholz maximal gelagert werden koennen: ";
cin >> maxBu;
cout << "Geben Sie an wieviele Bretter Eichenholz maximal gelagert werden koennen: ";
cin >> maxEi;
cout << "Geben Sie an wieviele Bretter Mahagoniholz maximal gelagert werden koenen: ";
cin >> maxMa;
int *buche= new int[maxBu];
int *eiche= new int[maxEi];
int *mahagoni= new int[maxMa];
for (char w1='j';w1=='j';w1) {
cout << "Was wollen sie tun? (l=Lagerstaende eingeben, e=Einkauf, v=Verkauf, a=Lager
aufraeumen)";
char waehlen;
cin >> waehlen;
if (waehlen=='l')
for (char a='a';a;a) {
cout << endl << "Lagerbestand fuer welche Holzart eingeben? (b=Buche,
e=Eiche,m=Mahagoni,s=Stop) ";
cin >> a;
if (a=='s') break;
if (a=='b') {
cout << "Buche!" << endl;
lager(buche,sizeBu=0,maxBu); // Wert 0 hier zuweisen, falls Lagerbestand
}
if (a=='e') {
cout << "Eiche!" << endl;
lager(eiche,sizeEi=0,maxEi);
}
if (a=='m') {
cout << "Mahagoni!" << endl;
lager(mahagoni,sizeMa=0,maxMa);
}
}
if (waehlen=='e')
for (char a='a';a;a) {
cout << endl << "Einkauf fuer welche Holzart eingeben? (b=Buche,
e=Eiche,m=Mahagoni,s=Stop) ";
cin >> a;
if (a=='s') break;
if (a=='b') {
cout << "Buche!" << endl;
lager(buche,sizeBu,maxBu);
}
if (a=='e') {
cout << "Eiche!" << endl;
lager(eiche,sizeEi,maxEi);
}
if (a=='m') {
cout << "Mahagoni!" << endl;
lager(mahagoni,sizeMa,maxMa);
}
}
if (waehlen=='v')
for (char a='a';a;a) {
cout << endl << "Verkauf fuer welche Holzart eingeben? (b=Buche,
e=Eiche,m=Mahagoni,s=Stop) ";
cin >> a;
if (a=='s') break;
if (a=='b') {
cout << "Buche!" << endl;
verkauf(buche,sizeBu);
}
if (a=='e') {
verkauf(eiche,sizeEi);
cout << "Eiche!" << endl;
}
if (a=='m') {
verkauf(mahagoni,sizeMa);
cout << "Mahagoni!" << endl;
}
}
if (waehlen=='a')
for (char a='a';a;a) {
cout << endl << "Welches Lager aufraeumen? (b=Buche, e=Eiche,m=Mahagoni,s=Stop)
";
cin >> a;
if (a=='s') break;
if (a=='b') {
cout << "Buche!" << endl;
aufraeumen(buche,sizeBu);
}
if (a=='e') {
aufraeumen(eiche,sizeEi);
cout << "Eiche!" << endl;
}
if (a=='m') {
aufraeumen(mahagoni,sizeMa);
cout << "Mahagoni!" << endl;
}
}
cout << endl << "Zurueck zum Hauptmenue? (j/n) ";
cin >> w1;
}
cout << endl << "Programm neu starten? (j/n) ";
cin >> w;
}
return 0;
}
/*--> Aktueller Bestand, Int Arrays fr alle 3 Sorten + lagerfkt + Size Speichern --- done
--> Einkauf --> Arrays erweitern (evtl. ber eine Einkaufsfunktion) --- done
--> Verkauf --> Wenn eines genau passt das nehmen --> wenns nicht genau vorhanden ist, das
krzeste das lnger ist.
--> Aufrumen des Lagers
*/
Aufgabe 6.3
#include <iostream>
using namespace std;
bool belegt[index]={false};
void neu()
{
char neuinterpret[len];
char neualbum[len];
char neustil[len];
void anzeigen()
{
cout << "In ihrer CD-Datenbank befinden sich folgende Eintraege: "<<endl<<endl;
for (int i=0;i<index;i++)
{
if (belegt[i])
{
cout << "* "<< i << " " << interpret[i] << " - " << album[i] << " (" << stil[i] << ")"<<endl;
}
}
}
void bearbeiten()
{
int edit;
int select;
bool a=true;
cout << "Welchen Eintrag wollen Sie bearbeiten (Indexnummer eingeben)? ";
cin >> edit;
cout <<endl;
if (!belegt[edit]) cout << "An dieser Stelle befindet sich kein Eintrag! ";
else
{
cout << "Der gewaehlte Eintrag sieht wie folgt aus: "<<endl;
do
{
cout << "* "<< edit << " " << interpret[edit] << " - " << album[edit] << " (" << stil[edit] << ")"<<endl;
cout <<endl<< "Welchen Eintrag wollen Sie aendern? "<<endl;
cout << "(1) Interpret"<<endl;
cout << "(2) Album" <<endl;
cout << "(3) Stil" <<endl;
cout << "(4) Ich will doch nichts aendern bzw. ich bin fertig! " <<endl<<endl;
cin >> select;
switch(select)
{
case 1: cout << "Geben Sie den neuen Interpreten ein: "; cin >> interpret[edit];break;
case 2: cout << "Geben Sie das neue Album ein: "; cin >> album[edit];break;
case 3: cout << "Geben Sie den neuen Stil ein: "; cin >> stil[edit];break;
case 4: a=false; break;
default: cout << "Falsche Eingabe!"; break;
}
}while (a);
}
}
void loeschen()
{
int edit;
cout << "Welchen Eintrag wollen Sie loeschen (Indexnummer eingeben) ? ";
cin >> edit;
for (int i=0;i<len;i++)
{
interpret[edit][i]='\0';
album[edit][i]='\0';
stil[edit][i]='\0';
}
belegt[edit]=false;
cout << "Der Eintrag an der Indexstelle " << edit << " wurde geloescht" <<endl;
}
int sucheni()
{
char suchen[len];
bool b=true;
cout << "Geben Sie einen Suchbegriff ein: "; cin >> suchen;
for (int i=0;belegt[i];i++)
{
for (int j=0;interpret[j]!='\0' && suchen[j]!='\0';j++)
{
if (interpret[i][j]==suchen[j]) b=true;
else b=false; break;
}
if (b)
{
cout << "Ihre Suche ergab folgendes Ergebnisse: "<<endl;
cout << "* "<< i << " " << interpret[i] << " - " << album[i] << " (" << stil[i] << ")"<<endl; return 0;
}
else cout << "Ihre Suche ergab keine Ergebnisse"<<endl; return 0;
}
int suchena()
{
char suchen[len];
bool b=true;
cout << "Geben Sie einen Suchbegriff ein: "; cin >> suchen;
for (int i=0;belegt[i];i++)
{
for (int j=0;album[j]!='\0' && suchen[j]!='\0';j++)
{
if (album[i][j]==suchen[j]) b=true;
else b=false; break;
}
if (b)
{
cout << "Ihre Suche ergab folgendes Ergebnisse: "<<endl;
cout << "* "<< i << " " << interpret[i] << " - " << album[i] << " (" << stil[i] << ")"<<endl;return 0;
}
else cout << "Ihre Suche ergab keine Ergebnisse"<<endl; return 0;
}
}
int suchens()
{
char suchen[len];
bool b=true;
cout << "Geben Sie einen Suchbegriff ein: "; cin >> suchen;
for (int i=0;belegt[i];i++)
{
for (int j=0;stil[j]!='\0' && suchen[j]!='\0';j++)
{
if (stil[i][j]==suchen[j]) b=true;
else b=false; break;
}
if (b)
{
cout << "Ihre Suche ergab folgendes Ergebnisse: "<<endl;
cout << "* "<< i << " " << interpret[i] << " - " << album[i] << " (" << stil[i] << ")"<<endl; return 0;
}
else cout << "Ihre Suche ergab keine Ergebnisse"<<endl; return 0;
}
}
void suchen()
{
int select;
cout << "Nach was wollen Sie suchen? "<<endl;
cout << "*(1) Interpret"<<endl;
cout << "*(2) Album"<<endl;
cout << "*(3) Stil"<<endl;
cout << "*(4) Ich will doch nichts suchen bzw. ich bin fertig! "<<endl;
cin >>select;
switch(select)
{
case 1: sucheni();break;
case 2: suchena();break;
case 3: suchens();break;
default: cout << "Falsche Eingabe"<<endl;break;
}
}
int main()
{
bool a=true;
while(a)
{
int wahl;
cout << "------------------------------------------------"<<endl<<endl;
cout << "Willkommen bei Ihrer persoenlichen CD-Datenbank! " <<endl<<endl;
cout << "Was wollen Sie tun? "<<endl;
cout << "*(1) Neuen Eintrag erstellen* " <<endl;
cout << "*(2) Alle Eintraege anzeigen* " <<endl;
cout << "*(3) Eintrag bearbeiten* " <<endl;
cout << "*(4) Eintrag loeschen* " <<endl;
cout << "*(5) Eintrag suchen* " <<endl;
cout << "*(6) Programm beenden* " <<endl<<endl;
cin >> wahl;
switch (wahl)
{
case 1: neu(); break;
case 2: anzeigen(); break;
case 3: bearbeiten(); break;
case 4: loeschen(); break;
case 5: suchen();break;
case 6: a=false; break;
default: cout << "Falsche Eingabe "<<endl; break;
}
}
return 0;
}
(funktioniert noch nicht 100%)
Adhoc 6 Gruppe 7
/*Zahl einlesen, zwei nebeneinander stehende Ziffern multiplizieren und die Summe der Produkte
ausgeben. z.B: Eingabe: 1234 - Ausgabe: 14 (da 1*2=2 + 3*4=12)
Erweiterung(hier nicht enthalten): das ganze mit einer Schleife in der Funktion schreiben.*/
#include <iostream>
using namespace std;
int f(int z)
{
if (z==0)
{
return 0;
}
else
{
return f(z/100)+(z%10)*(z/10%10);
}
}
int main ()
{
int z;
cin >> z;
cout << f(z);
return 0;
}