Hallo zusammen,
ich bin neu hier, also kurz etwas zu meiner Person:
Ich lerne im Moment C auf eigene Faust, also Lehrbuch gekauft und losgebüffelt!
Ich bin noch ein ziemlicher Anfänger und übe zugegeben nicht so oft wie ich es sollte!
Beruflich habe ich leider gar nichts damit zu tun.
Achja, ich programmiere auf einem Ubuntu System.
Und jetzt brauch ich mal jemanden der mir zeigt was ich im moment falsch mache.
Ich habe ein kleines Tool programmiert um nvclock einfacher und schneller bedienen zu können. Ist praktisch weil ich es oft verwende und eine gute Übung für mich als Anfänger!
Wenn ich den Code (siehe unten) ausführe und den Punkt 5 (Individuell) wähle führt er
zwar den Befehl korrekt aus, danach folgt aber ein Stack Smashing.
Ich hätte gerne daß er ins "Menü" zurückkehrt. Ich komme einfach nicht darauf woran das liegt.
Könnte mich bitte einer von euch erleuchten? :hells:
Schon mal vielen dank im Voraus!
Hier ist der Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int eingabe;
int ausgang();
int individuell();
int main(void)
{
char eins[] = "sudo nvclock -F 25 -f";
char zwei[] = "sudo nvclock -F 36 -f";
char drei[] = "sudo nvclock -F 50 -f";
char vier[] = "sudo nvclock -F 100 -f";
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf("#######################################\n");
printf("# #\n");
printf("# Grafikkarten-Ventilator-Steuerung #\n");
printf("# #\n");
printf("#######################################\n");
while (1)
{
puts("\n\nChoose your destiny! (1-5)");
printf("\n1 - Ventilator auf 25% ");
printf("\n2 - Ventilator auf 36% ");
printf("\n3 - Ventilator auf 50% ");
printf("\n4 - Ventilator auf 100% ");
printf("\n5 - Individuell ");
printf("\n6 - Exit \n\n");
printf("Eingabe: ");
scanf("%d", &eingabe);
switch (eingabe)
{
case 1:
{
system(eins);
break;
}
case 2:
{
system(zwei);
break;
}
case 3:
{
system(drei);
break;
}
case 4:
{
system(vier);
break;
}
case 5:
{
individuell();
break;
}
case 6:
{
ausgang();
}
default:
{
puts("\n\nSo nicht! Bitte nur zwischen 1, 2, 3, 4, 5 und 6 auswählen!\n");
}
}
}
}
int ausgang()
{
printf("\n\nBis Bald ! \n\n\n\n\n");
exit(0);
}
int individuell()
{
char x[30];
char teil1[] = "sudo nvclock -F ";
char teil2[] = " -f";
printf("\n\nBitte waehlen sie die Prozentzahl zwischen 10 und 100 Prozent!: ");
scanf("%s", x);
strcat(teil1, x);
strcat(teil1, teil2);
system(teil1);
}
[/PHP]