Inlägg
Hur ny (eller gammal) är boken?
C++ har ändrats ganska mycket med tiden. Dagens kompilatorer är nog striktare än de som användes för 15+ år sedan. Ovanstående inlägg stämmer bra.
Om du kompilerar programmet som det står i boken (med en kompilator som accepterar det -- GCC ger "bara" en varning), och i Hello() försöker t ex sätta name[0] = 'A' så kommer programmet krascha, eftersom textsträngen lagras i minne som inte är skrivbart.
Om parametern istället är "const char *", som den (åtminstone numer) bör vara så får man kompileringsfel, vilket förstås är att föredra över en krasch.
Den är från 2012 så mycket kan nog ha ändrats sen dess? Går en baskurs i programmering och de går efter den här boken. Men skönt att veta vad problemet var i alla fall
@Skogskotten: Om det är C++ du ska använda skulel jag rekommendera std::string istället:
#include <iostream>
#include <string>
void Hello(std::string name)
{
std::cout << "Hej " << name << "!";
}
int main()
{
Hello("Krister");
std::cin.get();
return 0;
}
Tack för tipset, jag föredrar att använda string men ville gärna veta hur jag skulle göra för att använda char också
@Skogskotten: "Krister" är konstant i.o.m att du skrivit in det direkt, så det kommer aldirg gå att ändra, funktionen Hello, förväntar sig en char array som den kan mutera (ändra)
Tack förstår vad du menar! Konstigt att de använder det som ett exempel i boken när det är fel. Prövade att göra om det till en char vektor och det funkade
Tack alla för hjälpen! Har nu löst uppgiften och förstår mer hur man skapar dynamiska vektorer
Har också en annan övningsuppgift jag har problem med som har med char och funktioner att göra. Skriver exakt som ett exempel i boken men jag får error när jag försöker köra det. Det funkar när argumentet är const char* istället för char*, men exemplet i boken säger att man ska använda char*. Vet någon varför det inte funkar för mig?
#include "stdafx.h"
#include <iostream>
using namespace std;
void Hello(char* name)
{
cout << "Hej " << name << "!";
}
int main()
{
Hello("Krister");
cin.get();
return 0;
}
Vektorer C++ Hjälp
Hej,
Jag försöker lösa en övningsuppgift i C++ och skulle behöva hjälp med hur man skapar dynamiska vektorer. Detta är övningsuppgiften:
"Skapa en vektor som ska innehålla temperaturmätningar från en väderstation. I programmets början ska användaren få ange hur många mätningar som har gjorts. Därefter får användaren mata in olika temperaturer. Temperaturerna ska anges i decimaltal. Programmet ska sedan skriva ut de olika temperaturerna och medeltemperaturen."
Tror att man ska använda sig av en dynamisk vektor. Tyvärr står det inte så mycket i boken hur man gör detta. Detta är det enda exemplet vilket jag inte riktigt förstår:
int size;
cin >> size;
int* x;
x = new int[size];
.
.
.
delete[];
Så här långt har jag kommit hittills men det går inte att köra. Har bara använt int nu men vill att size ska vara int och att temperaturerna användaren anger ska vara float. Vad gör jag fel?
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
float sum = 0;
int temperatures[];
cout << "Hur många m\x84tningar har gjorts?\n";
int size;
cin >> size;
int* x;
x = new int[size];
for (int i = 0; i < size; i++)
{
cin >> temperatures[i];
sum = sum + temperatures[i];
}
cout << "Summan blir: " << sum;
float avg = sum / size;
cout << "Medeltemperaturen blir: " << avg;
cin.get();
return 0;
}
- Jag behöver argument för att bli admin på min jobbdator33
- Bättre ljud framför datorn med Bose nya lurar11
- Hur mycket betalar du för bredband?342
- Bandbredd svtplay10
- Synka gammal Polar Loop 20
- Samsung S25 Edge mecenatrabatt diskussionstråd109
- Snart styr RTX 5080 Geforce Now-upplevelsen37
- Plats för lite gubbgnäll13k
- Nybyggd dator började plötsligt lagga jättemycket även i bios.12
- VGA lyser på moderkortet när CSM är inaktiverat1
- Säljes 14 tum Lenovo legion slim 5 OLED 32GB RTX 5060
- Säljes Xtrfy M64 Trådlös
- Säljes Skärm,Nätagg,grafikkort säljes
- Bytes Söker fullstort tangentbord i byte mot Rog Strix Azoth
- Säljes Äldre gamingburk
- Köpes Sökes: i7 9700 eller i9 9900
- Säljes Samsung Galaxy A17 5G
- Köpes Söker: RTX 3060 Ti eller RX 6700 XT
- Säljes Asus GT502 I7 14700k, 3080TI FE, 32GB DDR5
- Säljes Moderkort Z390, CPU 9900K, 32 GB RAM
Tester av grafikkort, processorer m.m.
- Cooler Master Masterhub – som Stream Deck fast dyrare och sämre4
- Asus Geforce RTX 5080 Noctua OC Edition - Ich bin ein believer!47
- AMD Ryzen Threadripper 9980X & 9970X – bäst i klassen26
- Corsair Frame 4000D RS ARGB - maxad prestanda per peng16
- Fractal Design Scape – en stark hörlursdebut53
- Samsung Galaxy Z Fold 7 – den bästa hittills57
- Snabbtest: Nvidia Smooth Motion med Geforce RTX 409027
- Nothing Phone 3 – rolig och snygg31
- Samsung mot Kingston – test av PCI Express 5.0 SSD44
- Roundup: Sex luftkylare utmanar kylarkungen Noctua75
Externa nyheter
Spelnyheter från FZ
- Pengarna tillbaka för de som bokat premiumversionen av Bloodlines 2 idag
- Spelhelg med Yōtei och Silksong – vad spelar du? igår
- FZ High Score – 17 pers prickade Cronos-betyget igår
- Fragzone-fredag – Himmel och utvecklingshelvete igår
- Silksong peakar på drygt 500 000 Steam-spelare – trots att det välte internet igår