Bu kodu yazdıktan sonra hiç bir şey çıkmıyor. Code Blocks

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
C:
#include <stdio.h>

#include <stdlib.h>
int main()
{



int addNumbers(int a, int b , int c) {

int total = a + b + c;

return total;

int main()

{

int total= addNumbers(10, 20, 30);

int lastTotal = addNumbers(total, total, total);

printf("lastTotal: %d", lastTotal);

getchar();

getchar();

return 0;
}
}
}
}
 
Onaylı Üye
Katılım
2 Mar 2017
Mesajlar
109
Tepki puanı
18
Ödüller
6
Yaş
28
Sosyal
9 HİZMET YILI
1. addNumbers fonksiyonunu main fonksiyonunun içinde tanımlamışsın. C dili kurallarına göre, bir fonksiyon diğer bir fonksiyonun içinde tanımlanamaz. addNumbers fonksiyonunu main fonksiyonunun dışına taşıman gerekmekte.

2. addNumbers fonksiyonunu main fonksiyonunda iki kere çağırmışsın: bir kere total değişkeni ile, bir kere de lastTotal değişkeni ile. Ancak addNumbers fonksiyonu her seferinde total değişkenine a, b ve c parametrelerini toplayarak değeri döndürmektedir. Dolayısıyla lastTotal değişkeni, total değişkeninin üç katı olacaktır. Eğer lastTotal değişkenine addNumbers fonksiyonunu sadece bir kere çağırarak, total değişkeninin değerini kullanmak istiyorsan, fonksiyon çağrısını int lastTotal = addNumbers(total, total, total); şeklinde değiştirmelisin.


C:
#include <stdio.h>
#include <stdlib.h>

int addNumbers(int a, int b , int c) {
    int total = a + b + c;
    return total;
}

int main() {
    int total = addNumbers(10, 20, 30);
    int lastTotal = addNumbers(total, total, total);
    printf("lastTotal: %d", lastTotal);
    getchar();
    getchar();
    return 0;
}
 
Onaylı Üye
Katılım
17 Kas 2019
Mesajlar
115
Tepki puanı
34
Ödüller
5
6 HİZMET YILI
pek fazla anlamam ama ıkı 2 tane main var orda

ve bir de int addNumbers parantezini sanırsam unutmusun
 
birgünbirpalyaçovarmış
Süper Üye
Katılım
8 Eyl 2020
Mesajlar
1,499
Çözümler
8
Tepki puanı
137
Ödüller
7
Yaş
25
Sosyal
5 HİZMET YILI
Bu düzeltilmiş kodda addNumbers fonksiyonu main fonksiyonu dışında tanımlanır ve return ifadesi de doğru şekilde kullanılır Ayrıca getchar fonksiyonları kaldırılmıştır Bu kod ilk olarak addNumbers fonksiyonunu kullanarak total değişkenine "10" "20" ve "30" sayılarının toplamını atar Daha sonra total değişkeni addNumbers fonksiyonuna üç kez gönderilir ve lastTotal değişkenine atanan sonuç ekrana yazdırılır
C#:
#include <stdio.h>

int addNumbers(int a, int b, int c) {
    int total = a + b + c;
    return total;
}

int main() {
    int total = addNumbers(10, 20, 30);
    int lastTotal = addNumbers(total, total, total);
    printf("lastTotal: %d\n", lastTotal);
    return 0;
}
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
tam olarak ne yapmak istiyordunuz?
Düzeldi.
C:
#include <stdio.h>

#include <string.h>

int addNumbers(int a, int b, int c) {

int total = a + b + c;

return total;

}

int main() {

int total = addNumbers(10, 20, 30);

int lastTotal = addNumbers(total, total,total);

printf("lastTotal : %d",lastTotal);

getchar();

getchar();


return 0;
}
Post automatically merged:

eskisi bu:
C:
#include <stdio.h>
#include <stdlib.h>

int addNumbers(int a, int b , int c) {
int total = a + b + c;
return total;
}

int main() {
int total = addNumbers(10, 20, 30);
int lastTotal = addNumbers(total, total, total);
printf("lastTotal: %d", lastTotal);
getchar();
getchar();
return 0;
}
Post automatically merged:

Bu düzeltilmiş kodda addNumbers fonksiyonu main fonksiyonu dışında tanımlanır ve return ifadesi de doğru şekilde kullanılır Ayrıca getchar fonksiyonları kaldırılmıştır Bu kod ilk olarak addNumbers fonksiyonunu kullanarak total değişkenine "10" "20" ve "30" sayılarının toplamını atar Daha sonra total değişkeni addNumbers fonksiyonuna üç kez gönderilir ve lastTotal değişkenine atanan sonuç ekrana yazdırılır
C#:
#include <stdio.h>

int addNumbers(int a, int b, int c) {
    int total = a + b + c;
    return total;
}

int main() {
    int total = addNumbers(10, 20, 30);
    int lastTotal = addNumbers(total, total, total);
    printf("lastTotal: %d\n", lastTotal);
    return 0;
}
C:
#include <stdio.h>
#include <string.h>
int addArray(int a[], int length){
int total = 0;
int i;
for (i =0; i < length; i++) {

}
return total;
}
int main() {
int dizi[] = {10,20,30,40,50};
printf("%d",addArray(dizi, 5));
getchar();
getchar();
return 0;
}
Şimdi ise bu kodda 0 çıkıyor. 150 çıkmasını istiyorum.
 
Son düzenleme:
birgünbirpalyaçovarmış
Süper Üye
Katılım
8 Eyl 2020
Mesajlar
1,499
Çözümler
8
Tepki puanı
137
Ödüller
7
Yaş
25
Sosyal
5 HİZMET YILI
sayıları toplayıp cıkarmtak için basit bir hesap makinesi yapmakmı istiyorsun ?

Belki aradığın bu olabilir.

C#:
using System;

namespace MultiNumberCalculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Lütfen sayıları girin (virgülle ayrılmış): ");

            // Kullanıcının girdiği sayıları al
            string[] numbers = Console.ReadLine().Split(',');

            int sum = 0;
            int diff = 0;

            // Dizideki sayıları topla ve çıkar
            for (int i = 0; i < numbers.Length; i++)
            {
                int num = Convert.ToInt32(numbers[i]);
                sum += num;
                diff -= num;
            }

            // Sonuçları görüntüle
            Console.WriteLine("Toplam: " + sum);
            Console.WriteLine("Çıkarma: " + diff);

            Console.ReadLine();
        }
    }
}
 
birgünbirpalyaçovarmış
Süper Üye
Katılım
8 Eyl 2020
Mesajlar
1,499
Çözümler
8
Tepki puanı
137
Ödüller
7
Yaş
25
Sosyal
5 HİZMET YILI
Aslında şu videoda ki
1:07:30'da olan şeyi yapmaya çalışıyorum. C dilinin 30%-40%'ı videoda var.
bu tarz şeyleri yapmak öğrenmek için yapay zekadan yardım alabilirsin örneğin alttaki kodun tamamını ona yazdırdım.
C#:
using System;

namespace Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hesap makinesine hoş geldiniz!");
            Console.WriteLine("Lütfen bir işlem seçin:");
            Console.WriteLine("1 - Toplama");
            Console.WriteLine("2 - Çıkarma");
            Console.WriteLine("3 - Çarpma");
            Console.WriteLine("4 - Bölme");
            Console.WriteLine("5 - Yüzde Hesaplama");

            // Kullanıcının seçtiği işlemi al
            int choice = Convert.ToInt32(Console.ReadLine());

            // İki sayı al
            Console.WriteLine("Lütfen ilk sayıyı girin: ");
            double num1 = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Lütfen ikinci sayıyı girin: ");
            double num2 = Convert.ToDouble(Console.ReadLine());

            double result = 0;

            // Seçilen işleme göre işlem yap
            switch (choice)
            {
                case 1:
                    result = num1 + num2;
                    Console.WriteLine("{0} + {1} = {2}", num1, num2, result);
                    break;
                case 2:
                    result = num1 - num2;
                    Console.WriteLine("{0} - {1} = {2}", num1, num2, result);
                    break;
                case 3:
                    result = num1 * num2;
                    Console.WriteLine("{0} * {1} = {2}", num1, num2, result);
                    break;
                case 4:
                    if (num2 == 0)
                    {
                        Console.WriteLine("Bir sayıyı sıfıra bölemezsiniz!");
                    }
                    else
                    {
                        result = num1 / num2;
                        Console.WriteLine("{0} / {1} = {2}", num1, num2, result);
                    }
                    break;
                case 5:
                    result = num1 * (num2 / 100);
                    Console.WriteLine("{0} % {1} = {2}", num1, num2, result);
                    break;
                default:
                    Console.WriteLine("Geçersiz seçim!");
                    break;
            }

            Console.ReadLine();
        }
    }
}
vede yanlış bir kod aldığın zaman yada yazdığın kodda bir hata olduğu zaman sana hatanın nerede olduğunu söylüyor ve istersen düzeltebiliryor.
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
Aslında şu videoda ki
1:07:30'da olan şeyi yapmaya çalışıyorum. C dilinin 30%-40%'ı videoda var.
#include <stdio.h>
#include <string.h>
int addArray(int a[], int length) {
int total = 0;
int i;
for (i =0; i < length; i++) {
total += a;
}
return total;
}
int main() {
int dizi[] = {10,20,30,40,50};
printf("%d",addArray(dizi, 5));
getchar();
getchar();
return 0;
}
Bunu yaptım yine olmadı.

Post automatically merged:

bu tarz şeyleri yapmak öğrenmek için yapay zekadan yardım alabilirsin örneğin alttaki kodun tamamını ona yazdırdım.
C#:
using System;

namespace Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hesap makinesine hoş geldiniz!");
            Console.WriteLine("Lütfen bir işlem seçin:");
            Console.WriteLine("1 - Toplama");
            Console.WriteLine("2 - Çıkarma");
            Console.WriteLine("3 - Çarpma");
            Console.WriteLine("4 - Bölme");
            Console.WriteLine("5 - Yüzde Hesaplama");

            // Kullanıcının seçtiği işlemi al
            int choice = Convert.ToInt32(Console.ReadLine());

            // İki sayı al
            Console.WriteLine("Lütfen ilk sayıyı girin: ");
            double num1 = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Lütfen ikinci sayıyı girin: ");
            double num2 = Convert.ToDouble(Console.ReadLine());

            double result = 0;

            // Seçilen işleme göre işlem yap
            switch (choice)
            {
                case 1:
                    result = num1 + num2;
                    Console.WriteLine("{0} + {1} = {2}", num1, num2, result);
                    break;
                case 2:
                    result = num1 - num2;
                    Console.WriteLine("{0} - {1} = {2}", num1, num2, result);
                    break;
                case 3:
                    result = num1 * num2;
                    Console.WriteLine("{0} * {1} = {2}", num1, num2, result);
                    break;
                case 4:
                    if (num2 == 0)
                    {
                        Console.WriteLine("Bir sayıyı sıfıra bölemezsiniz!");
                    }
                    else
                    {
                        result = num1 / num2;
                        Console.WriteLine("{0} / {1} = {2}", num1, num2, result);
                    }
                    break;
                case 5:
                    result = num1 * (num2 / 100);
                    Console.WriteLine("{0} % {1} = {2}", num1, num2, result);
                    break;
                default:
                    Console.WriteLine("Geçersiz seçim!");
                    break;
            }

            Console.ReadLine();
        }
    }
}
vede yanlış bir kod aldığın zaman yada yazdığın kodda bir hata olduğu zaman sana hatanın nerede olduğunu söylüyor ve istersen düzeltebiliryor.
Güzel fikirmiş. Bakayım.
 
birgünbirpalyaçovarmış
Süper Üye
Katılım
8 Eyl 2020
Mesajlar
1,499
Çözümler
8
Tepki puanı
137
Ödüller
7
Yaş
25
Sosyal
5 HİZMET YILI
Evet, elbette! Kodda bir hata var. Fonksiyonda, toplama işlemi için dizinin elemanları yerine dizinin kendisi toplanmıştır. Bu nedenle, dizinin toplamı yerine dizinin bellek adresi hesaplanmaktadır. Kodu düzeltmek için aşağıdaki gibi değişiklik yapabilirsiniz:
C#:
#include <stdio.h>
#include <string.h>

int addArray(int a[], int length) {
    int total = 0;
    int i;
    for (i = 0; i < length; i++) {
        total += a[i]; // dizinin elemanlarını topla
    }
    return total;
}

int main() {
    int dizi[] = {10, 20, 30, 40, 50};
    printf("%d", addArray(dizi, 5));
    getchar();
    getchar();
    return 0;
}
Yukarıdaki düzeltmeler yapıldığında, kodun çıktısı 150 olacaktır.
kontol edermisin çalışıyormu ?
 
Onaylı Üye
Katılım
23 Şub 2023
Mesajlar
74
Tepki puanı
8
Ödüller
2
Yaş
25
3 HİZMET YILI
Kod doğruymuş yapay zeka diyor. Başka bir programda çalıştırdım 150 çıktı. Code Blocks'da sorun var.
bu tarz şeyleri yapmak öğrenmek için yapay zekadan yardım alabilirsin örneğin alttaki kodun tamamını ona yazdırdım.
C#:
using System;

namespace Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hesap makinesine hoş geldiniz!");
            Console.WriteLine("Lütfen bir işlem seçin:");
            Console.WriteLine("1 - Toplama");
            Console.WriteLine("2 - Çıkarma");
            Console.WriteLine("3 - Çarpma");
            Console.WriteLine("4 - Bölme");
            Console.WriteLine("5 - Yüzde Hesaplama");

            // Kullanıcının seçtiği işlemi al
            int choice = Convert.ToInt32(Console.ReadLine());

            // İki sayı al
            Console.WriteLine("Lütfen ilk sayıyı girin: ");
            double num1 = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Lütfen ikinci sayıyı girin: ");
            double num2 = Convert.ToDouble(Console.ReadLine());

            double result = 0;

            // Seçilen işleme göre işlem yap
            switch (choice)
            {
                case 1:
                    result = num1 + num2;
                    Console.WriteLine("{0} + {1} = {2}", num1, num2, result);
                    break;
                case 2:
                    result = num1 - num2;
                    Console.WriteLine("{0} - {1} = {2}", num1, num2, result);
                    break;
                case 3:
                    result = num1 * num2;
                    Console.WriteLine("{0} * {1} = {2}", num1, num2, result);
                    break;
                case 4:
                    if (num2 == 0)
                    {
                        Console.WriteLine("Bir sayıyı sıfıra bölemezsiniz!");
                    }
                    else
                    {
                        result = num1 / num2;
                        Console.WriteLine("{0} / {1} = {2}", num1, num2, result);
                    }
                    break;
                case 5:
                    result = num1 * (num2 / 100);
                    Console.WriteLine("{0} % {1} = {2}", num1, num2, result);
                    break;
                default:
                    Console.WriteLine("Geçersiz seçim!");
                    break;
            }

            Console.ReadLine();
        }
    }
}
vede yanlış bir kod aldığın zaman yada yazdığın kodda bir hata olduğu zaman sana hatanın nerede olduğunu söylüyor ve istersen düzeltebiliryor.
Post automatically merged:

Yine 0 çıktı. CodeBlocks'da sorun var.
Evet, elbette! Kodda bir hata var. Fonksiyonda, toplama işlemi için dizinin elemanları yerine dizinin kendisi toplanmıştır. Bu nedenle, dizinin toplamı yerine dizinin bellek adresi hesaplanmaktadır. Kodu düzeltmek için aşağıdaki gibi değişiklik yapabilirsiniz:
C#:
#include <stdio.h>
#include <string.h>

int addArray(int a[], int length) {
    int total = 0;
    int i;
    for (i = 0; i < length; i++) {
        total += a[i]; // dizinin elemanlarını topla
    }
    return total;
}

int main() {
    int dizi[] = {10, 20, 30, 40, 50};
    printf("%d", addArray(dizi, 5));
    getchar();
    getchar();
    return 0;
}
Yukarıdaki düzeltmeler yapıldığında, kodun çıktısı 150 olacaktır.
kontol edermisin çalışıyormu ?
Post automatically merged:

İki kere mesaj atmışım pardon. Bug yüzünden oldu.
Evet, elbette! Kodda bir hata var. Fonksiyonda, toplama işlemi için dizinin elemanları yerine dizinin kendisi toplanmıştır. Bu nedenle, dizinin toplamı yerine dizinin bellek adresi hesaplanmaktadır. Kodu düzeltmek için aşağıdaki gibi değişiklik yapabilirsiniz:
C#:
#include <stdio.h>
#include <string.h>

int addArray(int a[], int length) {
    int total = 0;
    int i;
    for (i = 0; i < length; i++) {
        total += a[i]; // dizinin elemanlarını topla
    }
    return total;
}

int main() {
    int dizi[] = {10, 20, 30, 40, 50};
    printf("%d", addArray(dizi, 5));
    getchar();
    getchar();
    return 0;
}
Yukarıdaki düzeltmeler yapıldığında, kodun çıktısı 150 olacaktır.
kontol edermisin çalışıyormu ?
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst